在以下 C++ 代码中,为什么与赋值运算符一起使用的结构初始值设定项不会生成编译器错误?
这是编译器错误吗?
它适用于所有编译器吗?
这实际上是哪种作业?
class vector2D
{
public :
double x,y;
};
int main()
{
vector2D v1;
v1 = {1,2} ; // why does this compile and work?
}
最佳答案
Is it a compiler bug ?
没有。
Will it work on every compiler ?
它将在所有 C++11(或更高版本)兼容的编译器上编译。
Which kind of assignment is it actually ?
它是来自通过列表初始化创建的临时对象的赋值。
关于c++ - 使用 struct Initializer 为公共(public)成员变量赋值不会产生编译器错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60014059/