这是我的代码:
...
#include "myheader.h"
myClass::myStruct Foo;
Foo.one = 1;
Foo.two = 2;
myClass myclass(Foo);
...
这是头文件中的我的类:
class myClass : baseClass{
public:
struct myStruct {
myStruct():
one(0),
two(0){}
int one;
int two;
};
myClass(const myStruct &mystruct);
};
但这不能编译,我想我正在以正确的方式访问元素一和二...... 我收到这个错误:
:在'之前预期的构造函数,析构函数或类型转换。'令牌。
我哪里错了?
答案 0 :(得分:3)
Foo.one = 1;
这是一个声明,它需要进入函数或方法定义。语句不能单独出现在源文件的顶层。
尝试将此代码放在函数中,例如入口点main()
:
int main() {
myClass::myStruct Foo;
Foo.one = 1;
Foo.two = 2;
myClass myclass(Foo);
return 0;
}