c++编译错误,有没有人知道错在哪?

#include <bits/stdc++.h>
using namespace std;
const int tms=2;
string tm[tms+1][10]={
    {
        " ",
        " ",
    },
    {//1
        "          ",
        "  61 3  2 ",
        "  5   81 7",
        "      7 34",
        "   9  6378",
        "   32795  ",
        " 57 3  9 2",
        " 19 76    ",
        " 8 24  76 ",
        " 64  1 25 ",
    },
    {//
        "          ",
        " 1  83   2",
        " 57   1   ",
        "    5 9 64",
        " 7 4  859 ",
        "   3 1 4  ",
        "  514  3 6",
        " 36 7 4   ",
        "    6   79",
        " 8   52  3",
    }
};
int main(){
    for(int i=1;i<10;i++)
    cout<<tm[1][i]<<endl;
    return 0;
}

img


为什么这里会编译错误?有人可以解释吗?

你主函数里都没有定义这个tm数组,当然编译不过啊
你的string 那串放到 int main()主函数里面就好了

你直接定义常量tms=3不就行了,定义tms=2再加一有什么意义
还有就是有的地方没初值,遍历肯定行不通啊
淦,竟然是因为tm与结构体tm重名了,换个其他名字