Problem der Deklaration extern-Klasse-Objekt

Lassen Sie mich beginnen mit den Worten, ich habe ausgiebig gesucht, nach Antworten auf google und hier genauer.

Der Sache ist, dass ich eigentlich (glaube ich zumindest ich) den Menschen gefunden, mit ähnlichen Problemen, obwohl die Antwort gegeben, Sie gab mir ein weiteres problem.

Ich bin mit Visual Studio 2010 Express und die Arbeit mit SFML Bibliothek (obwohl ich nicht denke, dass dieser Letzte Teil ist relevant)

Also hier geht es:

Ich habe eine Quelldatei namens player.cpp hält, die Klasse Spieler und ich habe eine header-Datei (enthalten in allen source-Dateien), genannt cc.h(Kommando und Kontrolle) , hält alle notwendigen includes und externe Variablen/Funktionen. Der Hauptcode kann zusammengefasst werden in den folgenden:

Player.cpp:

#include "cc.h"
class Player
{
private:

//some variables here

public:

//more variables and some functions

}john;//example instance

cc.h:

#pragma once

//some #includes
//some externs

extern Player john;

Nun in cc.h das Wort Player ist Unterstrichen als Fehler, die sagen, es ist ein undefined identifier , aber nur manchmal, andere Male visual studio nicht markieren es als Fehler, sondern erkennt es als eine Klasse, aber nicht erkennt john als ein Objekt/Instanz (ich hoffe es heißt so) der gleichen Klasse.
Außerdem, bei der Erstellung des ersten Fehler zeigt es ist "error C2146: syntax error : missing ';' before identifier 'john'" auf der Linie der extern-Deklaration von john, in cc.h, die offenbar (für mich) keinen Sinn.

InformationsquelleAutor João Silva | 2012-01-18

Schreibe einen Kommentar