C++错误:无法将'Object'转换为'Object*'
C++ Error: Cannot convert 'Object' to 'Object*'
我正在尝试编译我的代码,编译器吐出它无法将Connection
转换为Connection*
但在函数参数中,我从未指定指针作为参数。
标头声明
我找到了我的问题。对不起,伙计们
QueryResult execute_select(Connection *db, QString query);
源
QueryResult execute_select(Connection db, QString query)
{
int rc;
char* error_message = 0;
QueryResult rs;
//----------Convert Qstring to char
char* sql = (char*) query.toStdString().c_str();
rc = sqlite3_exec(db.db, sql, &callback, (void*) &rs, &error_message);
#ifdef QT_DEBUG
if(rc != SQLITE_OK){
}
#endif
sqlite3_close(db.db);
return rs;
}
发生编译器错误的位置:
编辑:这是获取连接方法,它不返回指针
Connection get_database_connection(char* d_path)
{
Connection conn;
sqlite3 *db;
//Open db
int rc = sqlite3_open(d_path, &db);
//Check if db is open
if(rc != SQLITE_OK){
conn.status = CONNECTION_FAILED;
return conn;
}
conn.db = db;
conn.path = (char*) db_path.toStdString().c_str();
conn.status = CONNECTION_SUCCESS;
return conn;
}
Connection conn = get_database_connection(converted_path);
//Compiler error
QueryResult rs = execute_select(conn, query_string);
编译器消息:
data\accounts.cpp: 在成员函数 'std::list* Accounts::load((' 中: Data\accounts.cpp:29:55:错误:无法将参数"1"的"连接"转换为"连接*"到"查询结果execute_select(连接( *, QString(' QueryResult rs = execute_select(conn, query_string(;
我希望代码可以编译,但事实并非如此。
正如我在评论中猜到的那样,问题出在函数声明中(您正在查看函数定义/实现(。再次发布此内容,以便您可以接受答案。
我正在查看execute_update(Connection db,QString query(; 声明。execute_select(连接*db,QString查询(;位于文件底部。不知何故,我的眼睛看不见。我更改了指针声明。代码将编译。
相关文章:
- 防止主数据类型C++的隐式转换
- 模板参数替换失败,并且未完成隐式转换
- 努力将整数转换为链表。不知道我在这里做错了什么
- HEX值到wchar_t字符(UTF-8)的转换
- lambda参数转换为constexpr技巧,然后获取带链接的数组
- 将 Qvector<uint8_t> 转换为 QString
- 如何在cuSparse中使用cusparseXcoo2csr从coo转换为csc
- C++将派生类转换为基类时'object slicing'期间发生的情况
- 将`web :: json :: object“转换为`web :: json :: value`
- C++错误:无法将'Object'转换为'Object*'
- 从 Object<const T> 转换为 Object<t>
- 有没有一种干净的方法可以将 C# 'params object[]' 构造函数参数转换为C++构造函数?
- 使用 C++/CLI 将对象从 C# 传递到C++或将 Object^ 转换为 Object
- C++将json转换为object
- 将boost::python::object转换为(非const)左值
- 没有合适的转换函数来自 std::vector<Object *, std::分配器<Object *>> " to " Object *"
- 在Php - cpp中将Php::Object转换回c++对象
- 无法从'ref object'转换为'tagVARIANT*'
- 将 Object int 数据成员转换为浮点数并划分会将奇怪的数据 cout 附加到控制台
- 将Object转换为std::unique_ptr