C++ 用auto初始化QFile
我采用了使用自动类型推断的现代风格,我不明白为什么会这样:C++ 用auto初始化QFile,c++,qt,C++,Qt,我采用了使用自动类型推断的现代风格,我不明白为什么会这样: auto file = QFile{filepath}; 给出以下错误: 错误C2280:'QFile::QFileconst QFile&':尝试引用 删除函数 此函数已从SDK版本中删除或不再标记为公共函数。按照编写代码的方式,先调用,然后调用其副本构造函数。最后一个未在QFile类中定义,因此编译器错误消息告知此函数已被删除 因此,您不能在这里真正使用auto。但您仍然可以初始化QFile实例,如下所示: QFile file{
auto file = QFile{filepath};
给出以下错误:
错误C2280:'QFile::QFileconst QFile&':尝试引用
删除函数
此函数已从SDK版本中删除或不再标记为公共函数。按照编写代码的方式,先调用,然后调用其副本构造函数。最后一个未在QFile类中定义,因此编译器错误消息告知此函数已被删除 因此,您不能在这里真正使用auto。但您仍然可以初始化QFile实例,如下所示:
QFile file{filepath};
// or
QFile file = {filepath};
这里有类似的问题和您问题的确切答案:我发现这种语法在C++17中是有效的,因为它引入了复制省略