这个文件有什么错误?我得到:
foo2.cpp:9: 错误: '(' 标记之前的预期主表达式 foo2.cpp:9:错误:“int”之前的预期主表达式 foo2.cpp:9: 错误: 预期 ';' '{' 标记之前
int main(void)
{
class X {
int i;
public:
X(int ii = 0);
};
X::X(int ii) { i = ii; }
return 0;
}
这个文件有什么错误?我得到:
foo2.cpp:9: 错误: '(' 标记之前的预期主表达式 foo2.cpp:9:错误:“int”之前的预期主表达式 foo2.cpp:9: 错误: 预期 ';' '{' 标记之前
int main(void)
{
class X {
int i;
public:
X(int ii = 0);
};
X::X(int ii) { i = ii; }
return 0;
}
首先,我可以问一下,为什么?
其次,您不能在方法内提供实现(包括main
)。如果必须这样做,请保持实现内联:
int main()
{
class X {
int i;
public:
X(int ii = 0){ i = ii; }
};
return 0;
}
您不能在 C++ 中嵌套函数。要修改您的程序,您有两种选择。您可以将您的类定义移到 之外main
,或者您可以将您的方法定义放在类中:
第一种选择:
class X {
int i;
public:
X(int ii = 0);
};
X::X(int ii) { i = ii; }
int main(void)
{
return 0;
}
第二种选择:
int main(void)
{
class X {
int i;
public:
X(int ii = 0) { i = ii; }
};
return 0;
}