member
구조체가 있습니다. member
에는 배열이 months
으로 기본 값으로 초기화하고 있습니다. 이것은 내가 현재 그 일을하고 어떻게 : 그러나구조체 내에있는 배열의 값을 초기화하십시오.
template <typenameT>
struct member
{
std::string months[12];
std::string name;
T hours_worked[12];
T dues[12];
member() : months{"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"} {};
};
, 나는이 경고 메시지를받을 컴파일 할 때마다 :
warning: extended initializer lists only available with -std=c++0x or -std=gnu++0x
가 어떻게 제대로 초기화를 할 수 있으며,이 오류 메시지의 제거를?
편집 : 내 질문이 더 명확 만들어진한다
. 이전 컴파일러에서이 프로그램을 컴파일해야하고 플래그 옵션 -std=c++0x
을 사용할 수 없습니다. 플래그를 사용하지 않고 올바르게 수행하려면 어떻게해야합니까?
같은 것을 사용'-std = C++ 0x' 컴파일 플래그합니다. –
@Als이 플래그를 설정할 필요가 없습니다. 내가 초기화를 잘못하고있는 것처럼 보입니다. 나는'-std = C++ 0x'를 사용할 수없는 다른 컴파일러에서 이것을 실행해야합니다. –
이것이 C++ 11 기능이라고 생각합니다. 이 코드가 작동하려면 컴파일러가 C++ 11을 지원해야합니다. – Donotalo