gcc에는 initializer_list 라이브러리 없나요?
글쓴이: dltkddyd / 작성시간: 목, 2012/03/22 - 4:45오후
initializer_list 사용하려고 다음과 같이 소스를 만들고
#include <iostream>
#include <initializer_list>
template<class T> void print_list (std::initializer_list il) {
for (const T* it=begin(il); it!=end(il); ++it) std::cout << " " << *it;
std::cout << std::endl;
}
int main ()
{
print_list ({10,20,30});
return 0;
}
컴파일 했는데 안 되네요. gcc는 initializer_list 라이브러리가 없나요. 이걸 꼭 써야 하는데요.
Forums:
initializer_list는 GCC 4.4
initializer_list는 GCC 4.4 이상에서 구현되었습니다.
사용하시는 GCC 버전이 어떻게 되시는지요?
그리고 gcc에서 C++0x/C++11 기능을 사용하려면은 -std=c++0x 또는 -std=gnu++0x 옵션을 주어야 합니다.
[C++0x/C++11 Support in GCC]
http://gcc.gnu.org/projects/cxx0x.html
g++ -std=c++0x main.cpp
./a.out
10 20 30
——
———
Life is a tragedy when seen in close-up, but a comedy in long-shot. - Chaplin, Charlie -
참고로 gcc version 4.4.4 에서 시험
참고로 gcc version 4.4.4 에서 시험 하였습니다.
std::begin(std::initializer_list) 와 std::end(std::initializer_list) 는 4.4.4에서 아직 지원을 안하는 것 같습니다.
그래서 il.begin()과 il.end()를 사용하였습니다.
——
———
Life is a tragedy when seen in close-up, but a comedy in long-shot. - Chaplin, Charlie -
댓글 달기