无法将转换后的值分配给数组

时间:2015-06-28 10:35:39

标签: c++ arrays

我想通过读取文件将字符串中包含的整数值分配给数组。

代码:

  #include<string>
  using namespace std;
  int main(){
    int s[10][10];
    ifstream trainfile;
    trainfile.open(trainname);
    if(!trainfile){
        cout<<"Cannot open file!"<<'\n';
        exit(1);
    }

   std::string line;    

   while (std::getline(trainfile, line))
   {       
       std::istringstream iss(line);          
       char z=line[0];
       s[0][0]=z-'0';              
   }
 }

错误:

  `Invalid types 'char[int]' for array subscript`

1 个答案:

答案 0 :(得分:1)

编辑后的代码运行正常。我尝试使用这个在线编译器http://www.tutorialspoint.com/compile_cpp_online.php

我尝试使用s[0][0]打印cout并按预期输出

  

1

这就是我试过的

#include<string>
#include<iostream>
using namespace std;
int main(){
    std::string line;
    int s[10][10];
    line="1asd";
    char z=line[0];
    s[0][0]=z-'0';
    cout<<s[0][0];
}

问题可能出在您的编译器上。