首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

error C2664 cannot convert parameter 1 from 'std:string' to 'const processor &am

2012-01-28 
error C2664 cannot convert parameter 1 from std::string to const processor &在vc2003下添加了个

error C2664 cannot convert parameter 1 from 'std::string' to 'const processor &'
在vc2003下添加了个类processor   。
将自动生成的构造函数改为如下:  
processor::processor(string   filename,bool   display=true)
在一个对话框的.cpp文件里使用如下语句:
processor   p1(openfilename);

其中openfilename   为string类型。
出现如下错误提示:
error   C2664:   'processor::processor(const   processor   &) '   :   cannot   convert   parameter   1   from   'std::string '   to   'const   processor   & '
                Reason:   cannot   convert   from   'std::string '   to   'const   processor '
                No   constructor   could   take   the   source   type,   or   constructor   overload   resolution   was   ambiguous

请教什么原因?

[解决办法]
processor p1(openfilename);
这句有岐意,编译器选择另一个构造函数:processor::processor(const processor & pr);
所以,这样写试试:
processor p1(openfilename, true);

[解决办法]
processor::processor(const string& filename, bool display=true)
这样试试

热点排行