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

    string filename = "1.txt";
    ifstream fin;
    fin.open(filename);

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

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

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

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

例:

    char filename[10];
    strcpy(filename, "1.txt");
    ifstream fin;
    fin.open(filename);


原文地址:https://www.cnblogs.com/cszlg/p/2910424.html