Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
500 views
in Technique[技术] by (71.8m points)

c++ - why am I getting "non-aggregate cannot be initialized with initializer list"

std::map<std::string, int> m = {
    {"Marc G.", 123},
    {"Zulija N.", 456},
    {"John D.", 369}
};

In Xcode I have C++ Language Dialect set to "C++0x [-std=c++0x]" and C++ Standard Library set to "libc++ LLVM C++ Standard library with C++0X Support"

Do I need to set something else?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

EDIT 10/2013: this answer is really old, Apple Clang does support this now.

C++11 Initializer Lists are not yet supported as of Clang 3.0

See the implementation status here: Clang C++11 implementation status

(Your syntax looks correct if only the compiler supported this feature)


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...