Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/125.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 控制台投掷;花括号初始化错误_C++_Visual Studio Code - Fatal编程技术网

C++ 控制台投掷;花括号初始化错误

C++ 控制台投掷;花括号初始化错误,c++,visual-studio-code,C++,Visual Studio Code,当我运行此hello world函数时: #include <iostream> /* welcome to your first c++ tutorial! Congrats lets have some fun :) */ int main() { std::cout << "hello world\n"; int e{ 2 }; std::cout << e; return 0; } 我是C++

当我运行此hello world函数时:

#include <iostream>
/*
welcome to your first c++ tutorial! Congrats lets have some fun :) 


*/
int main() {
    std::cout << "hello world\n";
    int e{ 2 };
    std::cout << e;
    return 0;
}

我是C++的超级NoOB,所以我迷路了。知道它是什么吗?

也许您的编译器比较旧,没有为c++11或更高版本进行设置。你可以试试:

g++main.cpp-o main-std=c++11

请在此处查看相同的代码:

下面是运行相同的代码-std=c++98:带有您看到的错误

更新

由于上述链接将来可能会停止工作,因此输出如下:

根据gcc 4.1.2进行编译:

<source>: In function 'int main()':
<source>:9: error: a function-definition is not allowed here before '{' token
<source>:10: error: 'e' was not declared in this scope
Compiler returned: 1
使用gcc 10.2编译,编译器标志为-std=c++98:

<source>: In function 'int main()':
<source>:9:10: warning: extended initializer lists only available with '-std=c++11' or '-std=gnu++11'
    9 |     int e{ 2 };
      |          ^
ASM generation compiler returned: 0
<source>: In function 'int main()':
<source>:9:10: warning: extended initializer lists only available with '-std=c++11' or '-std=gnu++11'
    9 |     int e{ 2 };
      |          ^
Execution build compiler returned: 0
Program returned: 0
hello world
2

可能您的编译器比较旧,没有针对c++11或更高版本进行设置。你可以试试:

g++main.cpp-o main-std=c++11

请在此处查看相同的代码:

下面是运行相同的代码-std=c++98:带有您看到的错误

更新

由于上述链接将来可能会停止工作,因此输出如下:

根据gcc 4.1.2进行编译:

<source>: In function 'int main()':
<source>:9: error: a function-definition is not allowed here before '{' token
<source>:10: error: 'e' was not declared in this scope
Compiler returned: 1
使用gcc 10.2编译,编译器标志为-std=c++98:

<source>: In function 'int main()':
<source>:9:10: warning: extended initializer lists only available with '-std=c++11' or '-std=gnu++11'
    9 |     int e{ 2 };
      |          ^
ASM generation compiler returned: 0
<source>: In function 'int main()':
<source>:9:10: warning: extended initializer lists only available with '-std=c++11' or '-std=gnu++11'
    9 |     int e{ 2 };
      |          ^
Execution build compiler returned: 0
Program returned: 0
hello world
2

可能是过时的编译器,或者根本没有按照正确的标准编译。可能是过时的编译器,或者根本没有按照正确的标准编译。@user4581301啊,我不知道,谢谢-我会把它们贴上去-尽管这个问题是因为某种原因而结束的,我不太明白:或者打字错误或不可复制的完整信息包括,或者至少用来包括,一些类似的东西,或者这个问题在某种程度上得到了回答,这对未来的提问者不会有帮助。正是您添加的示例所增加的价值使这个答案值得一投。@user4581301这很奇怪-听起来问题已经结束了,因为答案可能已经过时了更新了输出以显示一些变化-使用与OP postedI完全相同的代码。我是最接近的投票者之一。大约在您回答并打算尝试g++main.cpp-o main-std=c++11评论的同时,我投票了,但您的回答涵盖了它以及更多内容。通常,像这样的问题需要关闭,因为它吸引了垃圾答案和本应是评论的一行。你的答案很少有人考虑过。不用担心。保护取决于mods,而不是社区行动。社区比mods多得多。在我看来,有很多完全合理的问题会得到简洁或垃圾的答案。结束一个问题不是惩罚。通常,这是对问题的辩护,这样当问题被清理、澄清或其他任何需要的时候,它就不会被埋在垃圾里。保护可能在这里起作用,但这个问题还有多少方法可以回答?不管你做什么,他们都会用正确的标准版本来编译代码。@user4581301啊,我不知道,谢谢-我会发布它们-尽管这个问题因为某种原因而结束了,我不太明白:或者输入错误的完整信息或不可复制的关闭包含,或者至少用于包含,类似的事情或问题在某种程度上得到了回答,对未来的提问者不会有帮助。正是您添加的示例所增加的价值使这个答案值得一投。@user4581301这很奇怪-听起来问题已经结束了,因为答案可能已经过时了更新了输出以显示一些变化-使用与OP postedI完全相同的代码。我是最接近的投票者之一。大约在您回答并打算尝试g++main.cpp-o main-std=c++11评论的同时,我投票了,但您的回答涵盖了它以及更多内容。通常,像这样的问题需要关闭,因为它吸引了垃圾答案和本应是评论的一行。你的答案很少有人考虑过。不用担心。保护取决于mods,而不是社区行动。社区比mods多得多。在我看来,有很多完全合理的问题会得到简洁或垃圾的答案。结束一个问题不是惩罚。通常,这是对问题的辩护,这样当问题被清理、澄清或其他任何需要的时候,它就不会被埋在垃圾里。保护可能在这里起作用,但这个问题还有多少方法可以回答?无论你做什么,他们都会用正确的标准版本来编译代码。