回 帖 发 新 帖 刷新版面

主题:那位高手帮帮忙!!~~

在声明ifstream对象时,编译不通过,出错。出错信息如下:

c:\program files\microsoft visual studio\myprojects\5062049014_6\5062049014_6\file.cpp(33) : error C2440: 'initializing' : cannot convert from 'enum std::ios_base::_Openmode' to 'class std::basic_ifstream<char,struct std::char_traits<char> >'
        No constructor could take the source type, or constructor overload resolution was ambiguous

恳请哪位高人帮我解释一下,怎么回事。

回复列表 (共4个回复)

沙发

把file.cpp的第33行前后代码贴出来,提示很明显,就是类型不匹配!

板凳

void InputFile(void)
{
    double x,y;

    ifstream openFA=("FA.DAT",ios::in);         //33行
    ofstream outX=("x.dat",ios::out|ios::binary);
    ofstream outY=("y.dat",ios::out|ios::binary);




    if(!openFA||!outX||!outY)
    {
        cerr<<"File could not be opened."<<endl;
        exit(1);
    }
    
    就是这样。请问有什么问题吗?

3 楼

ifstream openFA=("FA.DAT",ios::in);         

把那个等号=去掉!

4 楼

呃……这么一说才发现到了……………………
这么低级的错误…………………………真丢脸…………谢谢!!万分感谢。

我来回复

您尚未登录,请登录后再回复。点此登录或注册