【发布时间】:2015-06-16 09:38:45
【问题描述】:
我是 C++ 的初学者
我认为这是一个微不足道的问题,但我没有找到答案
为什么这段代码会出错?而如果我们在一行中初始化数组 byte x[2] = {78,82} 工作正常吗?
这两种情况下x指针有什么区别?
// example: one class, two objects
#include <iostream>
using namespace std;
typedef unsigned char byte;
int main () {
byte x[2];
x = {78,82};
cout << x << endl;
}
我只从 netbeans 得到这个错误
error: assigning to an array from an initializer list
【问题讨论】:
-
不能(直接)分配 C++ 原始数组。请改用
std::array。它将原始数组包装在struct中。 -
也许this 会帮助你
-
一个相似之处是
x在任何情况下都不是指针,它是一个数组。
标签: c++