widget.cpp:135:19: error: non-const lvalue reference to type 'char *' cannot bind to a value of unrelated type 'char [128]' database.h:16:24: note: passing argument to parameter 'sql' here
时间: 2024-02-16 13:00:22 浏览: 125
这个错误通常发生在将字符数组传递给函数期望指向非常量字符的非常量字符指针参数时。在这种情况下,编译器会产生错误,因为字符数组不是指向非常量字符的指针,而是一个常量指针。
为了解决这个问题,请将函数参数声明为指向常量字符的指针,或将字符数组转换为指向非常量字符的指针。在这种情况下,将函数参数声明为指向常量字符的指针是更好的选择,因为这可以防止函数修改传递给它的数据。
例如,在database.h文件中,您可以将函数声明更改为:
```cpp
bool executeQuery(const char* const sql);
```
然后,在widget.cpp文件中,您可以将字符串字面量传递给executeQuery函数,如下所示:
```cpp
if(!database.executeQuery("SELECT * FROM myTable")) {
//处理错误
}
```
这应该会解决这个问题。
阅读全文