繁体   English   中英

如何解决错误C2059:语法错误:“字符串””

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM