输出2-d阵列

时间:2017-10-29 01:27:12

标签: c++

我正在尝试输出这个数组,而且我不知道我是不是一个白痴,解决方案是盯着我,还是有更多的技术在这里。

代码:

 for ( string i=0;i<row; i++)
    {
        for ( string j=0; j<col; j++)
        {
            out << Array[i][j];
        }
    }

请注意,Arraychar数据类型。 rowcol被定义为字符串。

我得到的错误来自Visual Studios(3个错误):

cpp(97): error C2676: binary '++': 'std::string' does not define this operator or a conversion to a type acceptable to the predefined operator

cpp(99): error C2676: binary '++': 'std::string' does not define this operator or a conversion to a type acceptable to the predefined operator

cpp(101): error C2677: binary '[': no global operator found which takes type 'std::string' (or there is no acceptable conversion)

请注意,我尝试使用ints而不是字符串作为计数器,但我收到了更多错误......

1 个答案:

答案 0 :(得分:0)

我同意这些意见。你不应该只是为了删除错误或警告来对抗编译器,而是试着理解它们的含义并正确地修复它们。在您的情况下,它会告诉您j++i++是非法的,因为std::string类型没有为其定义operator++

我建议您的Array数据类型的行和列定义为int,然后您可以写:

 for ( int i=0;i<row; i++)
    {
        for ( int j=0; j<col; j++)
        {
            std::cout << Array[i][j];
        }
    }

假设operator<<类型的Array已超载,否则为:

std::cout << Array[i][j];

也是非法的。