C++ C++ Fehler - was not declared in this scope

Ghost_Rider_R

Lieutenant
Registriert
Nov. 2009
Beiträge
787
Hallo miteinander,

kann mir jemand kurz zeigen wo mein Fehler liegt und wie das richtig aussehen müsste?

Screenshot.PNG

vielen Dank

Viele Grüße Ruff
 
Hmmm, kannst du mal den Inhalt von controller.h mit dazu posten?
 
Code:
#ifndef CONTROLLER_H
#define CONTROLLER_H

using namespace std;

class Controller
{
public:
    Controller();
    ~Controller();
};

#endif // CONTROLLER_H
 
Und wo soll das Controller::Controller herkommen? Ich seh nur Controller.
 
Vielleicht ist Namespacename == Classname dein Problem?

Probier mal:
Code:
Controller::Controller *controller = new Controller::Controller();

Greetz
​hroessler
 
hroessler schrieb:
Vielleicht ist Namespacename == Classname dein Problem?

Probier mal:
Code:
Controller::Controller *controller = new Controller::Controller();

Greetz
​hroessler

hallo, leider selbes Problem und selber Fehler...
 
Dein Controller ist in keinem Namespace. Lass also Controller:: einfach generell weg.
 
Ist deine Klasse "Controller" in einem Namspace "Controller" definiert? Falls ja, ist es in deinem Codebeispiel NICHT drin. Entweder dein Beispiel korrigieren oder den Namespace vor dem Klassennamen einfach weglassen.

Greetz
​hroessler
 
Zuletzt bearbeitet von einem Moderator: (Schreibfehler ;-))
...ich meine genau so hätte ich es gemacht und es hatte nicht geklappt. Jetzt gehts auf einmal :lol:

Mal noch kurz eine Frage, wie war es nochmal mit dem *

Ich hab häufig 2 Schreibweisen gesehen:

Controller* controller...
Controller *controller...

Wo muss der * immer stehen und was macht es für einen Unterschied?

PS Danke für eure Tipps :)
 
Hallo,
dieses Sternchen zeigt, dass du einen Zeiger erzeugt hast. Dieses Sternchen gehört zur Variablen und nicht zum Datentypen. Also muss es korrekterweise: "Controller *controller..." lauten. Rein technisch macht es aber keinen Unterschied...

@edit

DENN:

Code:
int* i1, i2, i3; //i1 == Zeiger, i2 und i3 sind ganz normal int Variablen
int  *i1, *i2, *i3; //Alles Zeiger auf int

Im Gegensatz zu C# zum Beispiel, wo Zeiger wirklich Datentypen sind:
Code:
--> int* i1, i2, i3;//Alles Zeiger auf int

Greetz
hroessler
 
Zuletzt bearbeitet von einem Moderator:
Zurück
Oben