Was ist hier falsch?

Ich habe einen Cpp Code, in dem eigentlich alles funktioniert, bis auf eine Sache. Erstmal die Codes:

[code]
// Zahlenraten.cpp : Definiert den Einstiegspunkt für die Konsolenanwendung.
//

#include „header.hpp“

using namespace std;

int main()
{
char choice;
int points;
points = 0;
int highscore = 0;

srand(timeGetTime());

// Menue
do {
    cout << "Menue:\n" << endl;
    cout << "(H)ighscore" << endl;
    cout << "(P)lay" << endl;
    cout << "(I)nformation" << endl;
    cout << "(C)redits" << endl;
    cout << "(E)xit\n" << endl;
    cin >> choice;

    // Was wurde gewählt?
    switch(choice)
    {
        case('h'):
        case('H'): {
            highscore(&points, &highscore);
        } break;
        case('p'):
        case('P'): {
            play(&points);
        } break;
        case('i'):
        case('I'): {
            cout << "Informationen\n" << endl;
        } break;
        case('c'):
        case('C'): {
            cout << "Credits\n" << endl;
        } break;
        case('e'):
        case('E'): {
            cout << "Spiel Beenden\n" << endl;
        } break;
        default:
        {
            cout << "Falsche Angabe\n" << endl;
        }
    }
}
while (choice != 'e' && choice != 'E'); // End Game?
cout << "Spiel wird beendet..." << endl;
return 0;

}

void play(int *gpoints)
{
int round = 0;
int lvl;

cout << "Welches Level willst du spielen?" << endl;
cin >> lvl;
int bereich = lvl*10;
do {
    int points = 0;
    int zufallsz;
    int guessnum = 0;
    int trys = 0;

    zufallsz = (rand()%bereich)+1; // Zufallszahl generieren

    cout << "\n Die gesuchte Zahl liegt zwischen 1 und ";
    cout << bereich << endl;

        while(guessnum != zufallsz)
        {
            cout << "Deine Vermutung: ";
        cin >> guessnum;

        trys++;

        if(guessnum < zufallsz)
            cout << "Die gesuchte Zahl ist groesser" << endl;
        if(guessnum > zufallsz)
            cout << "Die gesuchte Zahl ist kleiner" << endl;
    }

    // Die Zahl wurde erraten
    cout << guessnum << " ist die gesuchte Zahl!" << endl;
    cout << "Versuche: " << trys << endl;
    cout << "Level: " << lvl << endl;

    // Punkte berechnen

    points = lvl*10-trys*2+1;
    *gpoints += points;
    cout << "Runden-Punktestand: " << points << endl;
    cout << "Gesamtpunkestand: " << *gpoints << endl;
    cout << "\n\n\n\n" << endl;
    round++;
}
while(round  <= lvl);

}

void highscore(int *points, int *highscore)
{
if(*highscore < *points)
{
cout << „Highscore geknackt.“ << endl;
cout << "Vorheriger Highscore: " << *highscore << endl;
*highscore = *points;
cout << "Jetztiger Highscore : " << *highscore << endl;
}
else
{
cout << „Highscore nicht geknackt.“ << endl;
cout << „Es fehlen noch " << *highscore - *points << " Punkte“ << endl;
}
}
[/code]und dann noch header.hpp

[code]
// Header Datei

#include
#include <windows.h>

#pragma comment (lib, „winmm.lib“)

void play(int *gpoints);
void highscore(int *points, int *highscore);
[/code]Die Fehlermeldung:

1>c:\dokumente und einstellungen\mark\desktop\c++\spiele\zahlenraten\zahlenraten\zahlenraten.cpp(32) : error C2064: Ausdruck ergibt keine Funktion, die 2 Argumente übernimmt Aber ich verstehe nicht warum es keine Funktion giebt, obwohl ich sie doch definiert habe

Hi,
in der Zeile

cout << "Es fehlen noch " << highscore-points << " Punkte" << endl; benutzt du Zeiger! Du subtrahierst allerdings die Adressen, nicht die Werte.

Ist aber nicht die Antwort auf deine Frage, hab keinen Compiler grad

danke für den Hinweis, aber damit ist das andere immernoch nicht gelöst :frowning:

Wieso benutzt du Referenzen(&) wobei du bei den Variablen doch keine Pointer benutzt hast!

kann mir wirklich keiner helfen? :?

Hast du meinen Beitrag nicht gelesen?

Außerdem addierst du die Speicheraddressen miteinander das kann dann nicht zu einem vernünftigen Ergebnis führen. Dazu kommt noch dass du die Variablen points,highscore nicht gepointet hast, und diese dann referenziert, das kann auch nicht gehen.

ja hast du die Fehlermeldung nicht gelesen? Da steht

1>c:\dokumente und einstellungen\mark\desktop\c++\spiele\zahlenraten\zahlenraten\zahlenraten.cpp(32) : error C2064: Ausdruck ergibt keine Funktion, die 2 Argumente übernimmtDa steht, dass es keine Funktion gibt. Aber ich habe sie doch definiert…

Und das trifft immernoch zu, wenn ich alle parameter entferne, und der Funktion alle Befehle Wegnehme und nurnoch schreibe

void highscore()
{
    cout << "Test" << endl;
}

Anscheined kannst du immernoch nicht lesen, les dir mal durch was ich geschrieben habe.

Und wofür benutzt du eigentlich Pointer?
Google nach „error C2064“

Der Fehler liegt an der Variable highscore, diese hast du auch als funktion fällt dir da was auf???

Mehr sag ich erstmal dazu nicht…

danke, hab das problem behoben… Es lag ja, wie du sagtest, daran, dass es eine Variable highscores und eine Funktion highscores gab. Vielen dank nochmal

Mir an kopf hau