【发布时间】:2013-09-21 00:13:54
【问题描述】:
我已经检查了 SO 是否有一个 简单 方法来修复此错误。在另一台计算机上编译时我没有得到这个,但突然现在它没有在我的 PC 上编译。这是我得到的错误:
Error: Assigning to an array from an initializer list
这是代码:
int maze[12][12];
void print(bool playing);
int main()
{
printMaze(false);
playGame();
return 0;
}
void print(bool playing)
{
if (!playing) maze = {
{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1},
{1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1},
{2, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1},
{1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1},
{1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 3},
{1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1},
{1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1},
{1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1},
{1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1},
{1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1},
{1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1},
{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}
};
}
值得一提的是,我在同一行收到了警告:
Warning: Extended initializer lists only available with -std=c++11 or -std=gnu++11 [enabled by default]
我知道这显然意味着我必须使用这两个之一来使用扩展的初始化列表,但不知道如何解决这个问题。
编辑:
在设置中让 g++ 遵循 C++11 ISO C++ 语言标准会删除警告,但不会删除错误。
【问题讨论】:
-
你使用的是哪个编译器?
-
您能否在帖子中包含实际的编译器错误消息?
-
MinGW on Code::Blocks
标签: c++ list initializer