【发布时间】:2016-04-21 02:00:24
【问题描述】:
struct Employee
{
int age;
double wage;
};
Employee joe;
joe = {2,60.0}; //using initialization list instead of doing Employee joe={2,60.0}
我在 Visual Studio 2015 中遇到编译错误,但能够在使用 C++ 版本 C++11 的代码块中执行
【问题讨论】:
-
因为这是一个赋值,而不是一个初始化?赋值和初始化是两个完全不同的东西,尽管它们都与令牌
=相关联。 -
这应该可以工作(并且在webcompiler.cloudapp.net上工作);如果不是,那就是编译器错误。
-
这绝对可以。我刚刚在VS2015上测试过,还不错。你确定这是你得到的错误吗?尝试仅使用该结构的新项目,然后在 main 中使用第二部分,仅此而已。
-
检查您使用的是 v140 平台工具集
-
我在 Visual Studio 2012 中运行此代码时观察到: struct Employee { int age;双倍工资; }; int main() { 员工乔 {2,56.0};乔 = {1,34.0};存在编译错误,它不允许我在 Employee joe{ 行以及下一行 joe = {. 中放置大括号