2012-08-01 167 views
1

我一直在關注this tutorial,但是我得到一些我不太明白的錯誤。我幾乎只有2個功能,一個用於關閉它,另一個用於打開它。我無能爲力,爲什麼這些錯誤在這裏。連接到postgresql數據庫的奇數錯誤

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更早自己,所以它不應該是不確定的。

Error 1

ConnectDB的返回類型的PGconn,conn是一個PGconn數據,所以我不明白爲什麼它不應該歸還。

Error 2

顯然有一些事情我大搖大擺找過來的,所以謝謝你的努力。

回答

1

您不需要類聲明中的DatabaseWriter::,只在定義中。我還建議你仔細看看這個定義,特別是其中包含*的地方。