访问结构有问题
Posted
技术标签:
【中文标题】访问结构有问题【英文标题】:Having problems with accessing struct 【发布时间】:2014-04-14 07:12:41 【问题描述】:我想我可能会失去它,但任何人都可以仔细检查我的理智吗?这是我在新文件中编写的唯一代码,以查看我的项目文件没有搞砸。
错误:此声明没有存储类或类型说明符
错误:应为“;”
【问题讨论】:
在函数之外不能有表达式(例如g.a = 1;
)。
同时删除前面的typedef
和结构声明的右大括号后的Game
。
@juanchopanza 等等,为什么不呢?
语言规则。
@juanchopanza 这实际上修复了它哈哈
【参考方案1】:
在全局级别上,您只能有声明和定义,而不是语句(如g.a = 1;
is)或表达式。
【讨论】:
【参考方案2】:另外为什么不使用静态初始化呢?
Game g = 1 ;
【讨论】:
【参考方案3】:有一些函数有可执行的语句,例如,
Game Init()
Game result;
result.a = 1; // g is global
return result;
Game g = Init();
最好有一个名为 Game 的类并让构造函数进行初始化。
class Game
int a;
public:
Game(int a_):a(a_)
;
Game g(1);
【讨论】:
好的,假设我正在使用 C 并希望公开声明。有没有办法我可以实现它?我知道这听起来可能很愚蠢,因为你会说根本不使用结构......另外,请记住我不知道 a 的数据类型。 在 C 中,结构中的所有内容都是公共的,没有私有数据成员的概念,但是,要初始化您需要知道数据类型 Game g = 1;也会这样做以上是关于访问结构有问题的主要内容,如果未能解决你的问题,请参考以下文章