[英]Odd error connecting to a postgresql database
我一直在關注本教程 ,但是遇到了一些我不太了解的錯誤。 我幾乎只有兩個功能,一個用於關閉它,一個用於打開它。 我不知道為什么這些錯誤在這里。
DatabaseWriter.h:
#ifndef FILEPARSER_H
#define FILEPARSER_H
#include "DatabaseWriter.h"
using namespace std;
class DatabaseWriter
{
private:
public:
void CloseConn(PGconn *conn);
PGconn DatabaseWriter::*ConnectDB ();
DatabaseWriter ();
};
#endif
DatabaseWriter.cpp
#include "stdafx.h"
#include <string>
#include <string>
#include "libpq-fe.h"
#include "DatabaseWriter.h"
using namespace std;
const char* CONNECTIONSTRING = "user=postgres password=superman dbname=poker hostaddr=127.0.0.1 port=5432";
void DatabaseWriter::CloseConn (PGconn *conn)
{
PQfinish(conn);
getchar();
exit(1);
}
PGconn DatabaseWriter::*ConnectDB ()
{
PGconn *conn = NULL;
// Make a connection to the database
conn = PQconnectdb(CONNECTIONSTRING);
// Check to see that the backend connection was successfully made
if (PQstatus(conn) != CONNECTION_OK)
{
printf("Connection to database failed");
CloseConn(conn);
}
printf("Connection to database - OK\n");
return conn;
}
我自己早些時候定義了CloseConn,所以它不應該是未定義的。
ConnectDB的返回類型是PGconn,conn是PGconn,所以我不明白為什么它不應該返回它。
顯然,有些事情我很在意,請多謝您的努力。
您不需要在類聲明內的DatabaseWriter::
,只需在定義中。 我還建議您仔細查看該定義,尤其是其中的*
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.