AFAIK {}
定义了一个新范围,那么它定义了什么?
({});
编译器很好地编译了这个程序:
#include <iostream>
#include <string>
int main()
{
std::string name;
std::cout << "What is your name? ";
{
({});
}
getline (std::cin, name);
std::cout << "Hello, " << name << "!\n";
}
当我将 ({});
替换为 ();
时,编译器无法编译程序。
为什么 ({});
可以正常工作,而 ();
却不行?
我已经在 cpp.sh 上测试了程序。它编译得很好。
最佳答案
({});
不是标准 C++ 的一部分。正如@HolyBlackCat 所说的那样,这是编译器扩展。使用 -pedantic-errors
禁用编译器扩展。
查看现场演示 here在 g++
查看现场演示 here 在 vc++
上编译时。
关于c++ - 做什么 ({});在 C++ 中是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43435528/