AFAIK {}
定義了一個新的範圍,那麼這個定義是什麼?什麼是({});意味着在C++?
({});
的編譯器編譯該程序以及:
#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上的程序。它編譯好。
看起來像一個編譯器擴展給我。帶有'-pednatic-errors'的GCC表示錯誤:ISO C++禁止在表達式中使用支撐組[-Wpedantic]'。 – HolyBlackCat
@HolyBlackCat我已經在http://cpp.sh/上測試了這個程序。它編譯得很好 –
GCC默認啓用了一些非標準擴展。 '-pedantic-errors'禁用它們。 '-pedantic'(或'-Wpedantic')使GCC在使用時會產生警告。 Cpp.sh有一個複選框來啓用第二個。 – HolyBlackCat