我正在尝试输出这个数组,而且我不知道我是不是一个白痴,解决方案是盯着我,还是有更多的技术在这里。
代码:
for ( string i=0;i<row; i++)
{
for ( string j=0; j<col; j++)
{
out << Array[i][j];
}
}
请注意,Array
是char
数据类型。 row
和col
被定义为字符串。
我得到的错误来自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而不是字符串作为计数器,但我收到了更多错误......
答案 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];
也是非法的。