I:\QT\this1\mainwindow.cpp:22: error: C2440: “<function-style-cast>”: 无法从“const char [9]”转换为“QDebug”
时间: 2024-05-29 11:15:23 浏览: 91
这个错误的意思是无法将常量字符串转换为 `QDebug` 类型。可能的原因是你在代码中使用了一个函数风格的转换,例如 `qDebug("Hello")`,这种写法在较新的编译器中已经不再支持。
解决这个问题的办法是改为使用流风格的写法,例如 `qDebug() << "Hello";`。这种写法会将字符串作为流的一部分输出到调试控制台,而不需要进行类型转换。
相关问题
D:\Qt\Qt.learn\new1\mainwindow.cpp:142: error: 'class QPlainTextEdit' has no member named 'setText' D:/Qt/Qt.learn/new1/mainwindow.cpp: In member function 'void MainWindow::onReadyRead()': D:/Qt/Qt.learn/new1/mainwindow.cpp:142:19: error: 'class QPlainTextEdit' has no member named 'setText' 142 | ui->recvEdit->setText(recvBuffer_.trimmed()); | ^~~~~~~
这个错误是因为你在使用 `QPlainTextEdit` 的 `setText()` 函数,但是 `QPlainTextEdit` 没有这个函数。你需要使用 `setPlainText()` 函数来设置 `QPlainTextEdit` 的文本内容。可以将代码中的 `setText()` 替换为 `setPlainText()`。同时,也要确保 `QPlainTextEdit` 对象的名称是 `ui->recvEdit`。
ui->plot->graph(0)->setData(QVector<double>::fromStdVector(mYDataTol));这句话报错G:\QTproject\TestTo10million\TestTo10million\mainwindow.cpp:96: error: no matching function for call to 'QVector<double>::fromStdVector(QVector<double>&)' ..\TestTo10million\mainwindow.cpp: In member function 'void MainWindow::onTimer()': ..\TestTo10million\mainwindow.cpp:96:73: error: no matching function for call to 'QVector<double>::fromStdVector(QVector<double>&)' ui->plot->graph(0)->setData(QVector<double>::fromStdVector(mYDataTol)); ^
这个错误提示是因为QVector<double>::fromStdVector需要一个const std::vector<double>&类型的参数,而你传入的是一个非const的QVector<double>&类型的参数mYDataTol。你可以将mYDataTol转换成const std::vector<double>&类型,然后再传入QVector<double>::fromStdVector。尝试修改成如下代码:
```
ui->plot->graph(0)->setData(QVector<double>::fromStdVector(std::vector<double>(mYDataTol.begin(), mYDataTol.end())));
```
这里使用std::vector的构造函数将QVector<double>转换成std::vector<double>类型,然后再传入QVector<double>::fromStdVector。
阅读全文