2016-07-21 5 views
-2

Ich habe versucht, es für eine Weile herauszufinden, aber finden Sie eine Lösung.Fehler C3867 'DataBase :: isUserAndPassMatch': Nicht-Standard-Syntax; Verwenden Sie "&", um einen Zeiger auf member zu erstellen

Wenn ich schreibe diese Codezeile in einer anderen CPP-Datei:

if(DataBase::isUserAndPassMatch(u->getUsername(), " ")){} 

I Fehler C3867 erhalten. Ich habe versucht, u-> getUsername() zu leeren String (""), aber immer noch den gleichen Fehler. Ich habe auch versucht dies:

if(&DataBase::isUserAndPassMatch(u->getUsername(), " ")){} 

isUserAndPassMatch:

bool DataBase::isUserAndPassMatch(std::string username, std::string password){} 
+0

Sie fehlen ein ')' im ersten Bit des Codes. Sollte sein 'if (DataBase :: isUserAndPassMatch (u-> getUsername()," "))' – NathanOliver

+0

yep, habe es gerade gesehen. Das Problem wurde jedoch nicht behoben –

Antwort

2

Angenommen, Sie Klassendefinition haben:

class DataBase { 
public 
    bool isUserAndPassMatch() {return true;} 
}; 

Wenn Sie die isUserAndPassMatch Memberfunktion aufrufen möchten, müssen Sie haben Objekt:

DataBase db; 
if(db.isUserAndPassMatch()) { 
} 

Versuchen Sie es.

Verwandte Themen