use*_*063 1 c++ parameters methods qt default-parameters
我有以下方法(只有 1 个参数),我想适应用于 1 个以上的参数。我尝试使用默认参数,但这不起作用。(仅使用旧方法的原始代码工作正常)令我印象深刻的是该声明中省略了变量名称。为什么 ?
这是我原来的方法:
void importFile(QString *);
Run Code Online (Sandbox Code Playgroud)
这是我的新方法:
void importFile(QString *, QList<QVariant> IMPORT_FILE_PARAMETERS =0 );
Run Code Online (Sandbox Code Playgroud)
当我编译这段代码时,Qt 告诉我“ QList IMPORT_FILE_PARAMETERS 的默认参数的类型为 int
问题是什么?我不使用 int - 他为什么要告诉我有关 int 的信息?
谢谢你的帮助
QList<QVariant> IMPORT_FILE_PARAMETERS =0
Run Code Online (Sandbox Code Playgroud)
这没有任何意义。您将0(这是一个int,如您的错误消息中所示)作为 a 的默认参数QList,尝试将其改为默认构造列表:
QList<QVariant> IMPORT_FILE_PARAMETERS = QList<QVariant>()
Run Code Online (Sandbox Code Playgroud)
至于
令我印象深刻的是该声明中省略了变量名称。为什么 ?
编译器根本不关心声明中的名称,它只需要知道参数类型。您也可以在函数的定义中省略它,但是您将无法访问该参数。
| 归档时间: |
|
| 查看次数: |
1259 次 |
| 最近记录: |