gpt4 book ai didi

c++ - 初始化结构中数组的值

转载 作者:行者123 更新时间:2023-11-30 04:29:17 24 4
gpt4 key购买 nike

我有一个名为member 的结构。在 member 中,我有一个名为 monthsstd::string 数组,我想将其初始化为默认值。这就是我目前的做法:

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 添加到您的 g++ 参数中。如果您希望能够在较旧的编译器上使用它,那么您不能像现在这样使用初始化列表。

相反,您可以将 member() 更改为类似

member()
{
months[0] = "January";
months[1] = "February";
...//etc
}

关于c++ - 初始化结构中数组的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9496089/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com