質問: { {"bear",4}, {"cassowary",2}, {"tiger",7} }; ``` しかし、私はVC10、gcc 4.6、Comeauを試しました。何故ですか ?
回答: コメントのすべての答えに感謝します。 私はその後、C ++ 98と03の標準を確認しました。そして確かに、8.5.4は間違いなくC ++ 11の新しい秒です! そのため、すべてのコンパイラで完全にサポートされていません。 フラグ-std = c ++ 0xをgcc 4.6.1で追加したら、これでコンパイルが完了します。 参照が必要なもののテストコードを追加する: ``` #include #include #include #include using namespace std; int main() { std::map collection = {{"bear",4}, {"cassowary",2}, {"tiger",7}}; for(auto it: collection) std::cout << it.first << " has value " << it.second << std::endl; return 0; } ```