QT C ++函数,带有字符串可选参数

时间:2012-03-21 03:51:31

标签: c++ qt tostring

我在QT C ++上编写toString函数时遇到问题。

例如,我在头文件QString toString(QString delimiter =“:”)中有这个;我收到以下错误

错误:'QString'类型参数的默认参数类型为'const char [3]'

otpional参数适用于其他类型,但似乎编译器将“:”解释为类型char并因此给我以下错误(我认为字符使用'',结果我错了)。

我搜索了这些东西,但找不到任何无用的东西,我很漂亮,必须有一个简单的解决方法,但我是这个语言的新手。

谢谢

1 个答案:

答案 0 :(得分:1)

编译器错误表示参数类型为QString,但您给出的默认值是const char[3]类型(一个const字符数组),因为它是一个字符串文字。 QString确实有一个构造函数,它接受const char*(并记住数组衰减到指针),所以通常它能够执行从const char*QString的隐式转换。似乎构造函数已声明为explicit,因此必须明确调用它。

编辑:它不明确,只需要包含标题:)