gpt4 book ai didi

main 之外的 C++ 对象初始化

转载 作者:行者123 更新时间:2023-11-27 23:14:07 26 4
gpt4 key购买 nike

我有一些产生错误的 C++ 代码:

class foo{
public:
int a;
int b;
};

foo test;
test.a=1; //error here
test.b=2;

int main()
{
//some code operating on object test
}

我收到这个错误:

error: expected constructor, destructor, or type conversion before '.' token

错误是什么意思,我该如何解决?

最佳答案

它被称为构造函数。包括一个将所需值作为参数的参数。

喜欢

class foo
{
public:
foo(int aa, int bb)
: a(aa), b(bb) // Initializer list, set the member variables
{}

private:
int a, b;
};

foo test(1, 2);

正如 chris 所指出的,如果字段是 public,您也可以使用聚合初始化,就像在您的示例中一样:

foo test = { 1, 2 };

这在 C++11 兼容编译器中也适用于构造函数,如我的示例所示。

关于main 之外的 C++ 对象初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17842215/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com