我收到错误C2440:

时间:2012-04-02 09:05:15

标签: c++ visual-c++

我收到以下错误

  

错误C2440:'初始化':无法从'const int'转换为'int   [16]“

我的代码就像这样

static int Count[MAX_STATION_NO] = 0;

我在上面的行上有错误。有人能告诉我上面的问题是什么?

5 个答案:

答案 0 :(得分:0)

您将数组视为指针,这是非法的。您无法将数组分配给值。

也许你想要这个:

static int Count[MAX_STATION_NO] = {0};

答案 1 :(得分:0)

您正在创建一个数组并将数组值设置为“0”。我认为你想做的是:

static int Count[MAX_STATION_NO] = {0}

答案 2 :(得分:0)

您的初始化程序需要括号:

static int Count[MAX_STATION_NO] = { 0 };

Btw:无论如何静态数组的内容都用0初始化,所以你上面的内容相当于:

static int Count[MAX_STATION_NO];

答案 3 :(得分:0)

此行声明一个大小为16的数组,然后您为其分配一个数字,这在语法上是不正确的。您需要使用数组初始值设定项:

{ 16, 2, 77, 40, 12071 ... }

答案 4 :(得分:0)

初始化数组需要使用大括号{}。 例如:

static int Count[MAX_STATION_NO]={1,2,3};

也许此链接可以帮助您:http://www.cplusplus.com/doc/tutorial/arrays/