gpt4 book ai didi

c++ - 无效使用不完整类型 'PGconn {aka struct pg_conn}'

转载 作者:太空狗 更新时间:2023-10-29 21:02:50 25 4
gpt4 key购买 nike

我有两个类,主类和连接类:

Conn.cpp:

#include "conn.h"
#include <postgresql/libpq-fe.h>

Conn::getConnection()
{
connStr = "dbname=test user=postgres password=Home hostaddr=127.0.0.1 port=5432";
PGconn* conn;
conn = PQconnectdb(connStr);
if(PQstatus(conn) != CONNECTION_OK)
{
cout << "Connection Failed.";
PQfinish(conn);
}
else
{
cout << "Connection Successful.";
}
return conn;

}

conn.h

#ifndef CONN_H
#define CONN_H
#include <postgresql/libpq-fe.h>
class Conn
{
public:
const char *connStr;
Conn();
PGconn getConnection();
void closeConn(PGconn *);
};

main.cpp

#include <iostream>
#include <postgresql/libpq-fe.h>
#include "conn.h"

using namespace std;

int main()
{
PGconn *connection = NULL;
Conn *connObj;
connection = connObj->getConnection();

return 0;
}

错误:不完整类型“PGconn {aka struct pg_conn}”的无效使用

错误:“PGconn {aka struct pg_conn}”的前向声明

有什么帮助吗?

最佳答案

在您的 conn.h 中,您应该将 getConnection 定义为返回一个 PGconn *,而不是 PGconnPGconn 是一种不透明类型(您的代码除了名称之外不应该知道任何关于它的信息),因此您不能返回它或按值使用它。

关于c++ - 无效使用不完整类型 'PGconn {aka struct pg_conn}',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14615460/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com