vs2013编译过程中出错 error C2440:‘default argument’

C++语言 码拜 9年前 (2016-05-26) 1265次浏览
[b]函数声明是   bool _saveFrameToFile(const Frame *frame, OutputFileStream &saveFile, const String &subType = “”);

函数调用是   eFrameToFile<RawDataFrame>(&frame, _saveFile)
错误是Error 1 error C2440: “default argument” : cannot convert from “const Voxel::String *” to “const Voxel::String &”
本人已经将函数声明中第三个参数赋了默认值“     const String &subType = “”     ”,为什么编译的时候会提示错误呢?
哪位高手帮本人解答一下

解决方案

10

错误出现在哪儿啊,是声明那一行吗?你把const String &subType = “”改成const String &subType = String()试试

10

const String &subType = “”  ==》 const String subType = “”试试

20

声明的是引用类型,调用时传入的确是指针类型

10

不知道题主为何默认参数还用引用类型。,后面是const string,你可以改为const String &subType = String(“”)试试

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明vs2013编译过程中出错 error C2440:‘default argument’
喜欢 (0)
[1034331897@qq.com]
分享 (0)