"[C++ Error] ... Structure required on left side of . or .* " bei Methodenaufruf
-
*seufzt*
[C++ Error] Diagramm.cpp(677): E2294 Structure required on left side of . or .*
Dieser Fehler komtm wenn ich eine methode aufrufen möchte : /
diagramm diagramm1(); // Objekt der klasse diagramm erstellen
diagramm1.getm_iYmax; // Diese zeile verursacht den dummen Fehler....
Weiss jemmand rat?
Edit:
Überschrift optimiert.
-Jansen
-
"diagramm" ist in deinem Programm noch unbekannt. Hast du die entsprechende Datei zu dem Projekt hinzugefügt und includiert?
-
diagramm ist eine klasse die in der klassen.cpp deklariert wurde und zum profjekt hinzugefügt wurde und auch header datei wurde eingebunden.
Das objekt erstellt er auch och. In meinem fall diagramm1 nur die funktion ruft er nicht auf.
-
Hallo
gib mal nur "diagramm1" und den Punkt ein und warte was er
als Methoden vorschlaegt bzw anzeigtMfG
Klaus
-
[C++ Error] Diagramm.cpp(1): Unable to invoke Code Completion due to errors in source code
das spuckt er dann aus, wenn ich nur den punkt eingebe und warte.
/edit
Habe gerade eine ganze einfache kiste ohne weitere cpp gemacht...
class ola
{
private:
int o;
public:
int getola(void);
ola();
~ola();
};int ola::getola(void)
{
return o;
}ola::ola()
{
o=3;
}ola::~ola()
{
}ola ola1();
ola.getola();Selber Fehler.. ob der Borland Builder nicht vernünftig funktioniert?
-
Das ist kein Problem des BCB sondern resultiert aus dem parameterlosen Konstruktor.
ola ola1; // ohne Klammern ola1.getola();
Zur Begründung siehe das C++-Buch/Tutorial deiner Wahl oder das C++Forum hier (dorthin verschoben).
-
Dieser Thread wurde von Moderator/in Jansen aus dem Forum Borland C++ Builder (VCL/CLX) in das Forum C++ verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Jansen schrieb:
Das ist kein Problem des BCB sondern resultiert aus dem parameterlosen Konstruktor.
ola ola1; // ohne Klammern ola1.getola();
Zur Begründung siehe das C++-Buch/Tutorial deiner Wahl oder das C++Forum hier (dorthin verschoben).
Danke!! es funktioniert nun endlich.
-
Falls du's wissen willst:
ola ola1(); //die erste zeile deklariert eine funktion mit namen ola1, die ein objekt vom typ ola zurückgibt. ola.getola(); //. operator auf funktionen funktioniert schlecht.
/edit: quote->cpp
-
davie:
Die Erklärung kommt mir doch etwas sonderbar vor. Warum funktioniert es dann problemlos, sobald der Konstruktor mit Parameter deklariert/implementiert wird? Deine Begründung wäre da ja genauso anwendbar, trotzdem funzt es.
-
Jansen schrieb:
Warum funktioniert es dann problemlos, sobald der Konstruktor mit Parameter deklariert/implementiert wird?
Dann kann der Compiler die beiden Fälle daran unterscheiden, ob der Bezeichner, der als Parameter benutzt wird, einen Typ darstellt oder nicht.