初始化作为类成员的结构

时间:2014-12-29 05:31:10

标签: c++ class struct constructor

这是我的代码:

...
#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);
};

但这不能编译,我想我正在以正确的方式访问元素一和二...... 我收到这个错误:

:在'之前预期的构造函数,析构函数或类型转换。'令牌。

我哪里错了?

1 个答案:

答案 0 :(得分:3)

Foo.one = 1;

这是一个声明,它需要进入函数或方法定义。语句不能单独出现在源文件的顶层。

尝试将此代码放在函数中,例如入口点main()

int main() {
    myClass::myStruct Foo;

    Foo.one = 1;
    Foo.two = 2;

    myClass myclass(Foo);

    return 0;
}