在较大的代码中,我有以下代码:

#define N 10
..
..
..
char Map [N][N] =              {"##########",
                                "#@       #",
                                "#        #",
                                "#        #",
                                "#        #",
                                "#        #",
                                "#        #",
                                "#        #",
                                "#        #",
                                "##########"};

当我尝试编译并以Code bloke形式运行它时,我给了我错误

F:\ C++ \ Maze \ main.cpp | 25 |警告:扩展的初始化程序列表仅在-std = c++ 11或-std = gnu ++ 11中可用[默认启用] |

知道我在这个简单代码中做错了什么吗?

最佳答案

您的示例中每行的长度为10 + 1 = 11(请记住,字符串的空终止符需要分配空间)。所以:

#define N 10
#define M 11
char Map [N][M] =              {"##########",
                                "#@       #",
                                "#        #",
                                "#        #",
                                "#        #",
                                "#        #",
                                "#        #",
                                "#        #",
                                "#        #",
                                "##########"};

关于c++ - 使一个字符数组错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25322578/

10-17 00:23