[英]How can I solve error C2059: syntax error : 'string'"
这是我的代码:
class Foo
{
public:
Foo(const char*);
};
class Bar
{
public:
Foo bu("adfds");
};
int main()
{
return 0;
}
Foo::Foo(const char* iLoc)
{ }
当我尝试在Bar
类中创建Foo
类时,尝试传递给构造函数时出现语法错误。 为什么会这样呢?
我更喜欢egrunin的答案,因为您不必跟踪内存分配。
class Bar
{
private:
Foo bu;
public:
Bar()
: bu("adfds")
{
}
};
您不能在类声明中初始化bu
。 这是你想要的吗?
class Bar
{
public:
Foo *bu;
Bar() {
bu = new Foo("adfds");
}
};
编辑
正如评论中指出的那样,这是一种无需使bu
成为指针的方法:
class Bar : bu("adfds")
{
public:
Foo bu;
};
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.