This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] 编译器/TMS320F28069M:在定义模块之外无法访问类型结构的多维数组

Guru**** 3003130 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/920966/compiler-tms320f28069m-multi-dimensional-array-of-type-struct-not-accessible-outside-defining-module

器件型号:TMS320F28069M

工具/软件:TI C/C++编译器

大家好、

我需要一些帮助来了解我在创建的结构的多维数组中遇到的问题。

我可以从定义该结构的模块访问数组中任何结构的内容、但不能从外部模块访问。

这里有一个图像、显示了结构的定义位置、然后紧随定义之后、它被实例化为二维数组。  在同一模块中、下面几行代码显示了我为各个元素分配值的不同方式。  这里一切都很好。  但是、该图像还显示了结构数组在另一个模块中被声明为 extern 的位置、但在编译时、会显示错误消息"#906:expression must be a pointer to a complete object type"。

它似乎希望使用指针来访问结构、但我不明白为什么它不按所示的方式工作。

有人可以帮帮我吗?

谢谢、
Robin

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    定义结构通道所有成员的行必须位于头文件中、并且使用结构通道类型的每个文件都必须包含此头文件。   

    如果这不能解决问题、那么对于源文件 userinterface.c、 请按照文章 How to submit a Compiler Test Case中的说明进行操作。

    谢谢、此致、

    乔治