error: no matching function for call to 'std::basic_ifstream::open(std::string&)

[cpp]  view plain copy print ?
  1. string filename = "1.txt";  
  2. ifstream fin;  
  3. fin.open(filename);  

上述语句会产生如下错误:

error: no matching function for call to 'std::basic_ifstream::open(std::string&)

原因是C++的string类无法作为open的参数。

解决方案:使用C的字符串。

例:

[cpp]  view plain copy print ?
  1. char filename[10];  
  2. strcpy(filename, "1.txt");  
  3. ifstream fin;  
  4. fin.open(filename);  

你可能感兴趣的:(C/C++,error,c++)