error C2664: 'void __thiscall std::basic_ifstream >::open(const char *,int)' : cannot convert parameter 1 from 'class std::basic_string
har,struct std::char_traits,class std::allocator >' to 'const char *'
No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called
执行 cl.exe 时出错.
很苦恼,希望各路大神指教
我写的程序:
#include
#include
#include
#include
using namespace std;
int main()
{
vector vec_num;
string filename,line;
cout << "请输入要处理的图像路径:" << endl;
cin >> filename;
ifstream file;
file.open(filename);
if (!file.is_open())
{
cout << "有错误!文件未被打开\n";
}
while(getline(file, line))
{
float first_num,second_num;
int third_num;
sscanf(line.c_str(), "%f %f %d", &first_num, &second_num, &third_num);//格式化提取
cout << first_num << " " << second_num << " " << third_num << endl;//打印一下数据
//用vector把第一列的数据存下来
vec_num.push_back(first_num);
}
float avg_num = 0.0;//保存计算出来的平均数结果
//遍历vector
vector::iterator it;
for(it = vec_num.begin(); it != vec_num.end(); it++)
{
avg_num += *it;
}
avg_num = avg_num / vec_num.size();
cout << "第一列平均数是:" << avg_num << endl;
system("pause");
return 0;
}