好吧,一个简单的问题,但我找不到以前的答案...
在这里。
我将我的编译器等更新为 c++11,因此,我无法像事先那样初始化数组。这是代码:
class Something{
public:
int array[5];
void doSomething();
};
void Something::doSomething()
{
array={1,2,3,4,5};
}
这事先完全没问题,我将它实现到我的新项目中(但由于最近的融化而丢失了代码......)并且记不起我是如何做到的。我知道它非常相似,但每次尝试都会出错。我什至尝试过:
class Something{
public:
int array[5];
void doSomething();
};
void Something::doSomething()
{
int Temparray[]={1,2,3,4,5};
array[]=Temparray[];
}
仍然没有...我无法弄清楚它是什么,并且抨击谷歌浪费了 2 小时的编程...
我建议 std::array
#include <array>
class Something{
public:
std::array<int,5> array;
void doSomething();
};
void Something::doSomething()
{
array = std::array<int,5>{1,2,3,4,5};
}
或者,复制内容:
class Something{
public:
int array[5];
void doSomething();
};
void Something::doSomething()
{
int tmp[] = {1,2,3,4,5};
std::copy(
std::begin(tmp),
std::end(tmp),
std::begin(array)); // beware of buffer overrun
}
我是一名优秀的程序员,十分优秀!