Forum: PC-Programmierung MFC Programmierung Error


von Hansi (Gast)


Angehängte Dateien:

Lesenswert?

Guten Tag

Ich hab ein Problem mit folgendem Code (siehe Anhang).
Dieser Code ist für meine 4 RadioButtons, die ich in meiner Oberfläche 
verwende. Er gibt mir jedoch 5 Errors.

d:\programs\mfc\opc konfigurator\opc konfiguratorview.h(113) : error 
C2061: syntax error : identifier 'CGroup'

d:\programs\mfc\opc konfigurator\opc konfiguratorview.h(113) : error 
C2061: syntax error : identifier 'CGroup'

D:\Programs\MFC\OPC Konfigurator\OPC KonfiguratorView.cpp(166) : error 
C2065: 'CGroup' : undeclared identifier

D:\Programs\MFC\OPC Konfigurator\OPC KonfiguratorView.cpp(166) : error 
C2065: 'pGroup' : undeclared identifier

D:\Programs\MFC\OPC Konfigurator\OPC KonfiguratorView.cpp(167) : error 
C2448: '<Unknown>' : function-style initializer appears to be a function

Kann mir hemand weiterhelfen?

Besten Dank Hansi

von Karl H. (kbuchegg)


Lesenswert?

Hansi wrote:
> Guten Tag
>
> Ich hab ein Problem mit folgendem Code (siehe Anhang).
> Dieser Code ist für meine 4 RadioButtons, die ich in meiner Oberfläche
> verwende. Er gibt mir jedoch 5 Errors.
>
> d:\programs\mfc\opc konfigurator\opc konfiguratorview.h(113) : error
> C2061: syntax error : identifier 'CGroup'

Der Compiler hat an dieser Stelle noch nie etwas von 'CGroup'
gehört.
Hast du vergessen das Header File zu inkludieren, in dem dieser
Datentyp definiert wurde?

von Hansi (Gast)


Lesenswert?

Vielen Dank für die Hilfe.
Mein Header File ist Group2.h, inkludiert hab ich es jetzt.
Jetzt gibt es jedoch wiederrum 3 Errors, die ich nicht beheben kann.

d:\programs\mfc\opc konfigurator\opc konfiguratorview.h(113) : error 
C2061: syntax error : identifier 'CGroup'

d:\programs\mfc\opc konfigurator\opc konfiguratorview.h(113) : error 
C2061: syntax error : identifier 'CGroup'

D:\Programs\MFC\OPC Konfigurator\OPC KonfiguratorView.cpp(166) : error 
C2511: 'RButton' : overloaded member function 'void (class CGroup *)' 
not found in 'COPCKonfiguratorView'

von Karl H. (kbuchegg)


Lesenswert?

Hansi wrote:
> Vielen Dank für die Hilfe.
> Mein Header File ist Group2.h, inkludiert hab ich es jetzt.
> Jetzt gibt es jedoch wiederrum 3 Errors, die ich nicht beheben kann.
>
> d:\programs\mfc\opc konfigurator\opc konfiguratorview.h(113) : error
> C2061: syntax error : identifier 'CGroup'

immer noch das gleiche Problem.
Hast du den include auch im Header File opc_konfiguratorview.h
gemacht und nicht nur im Source File opc_konfiguratorview.cpp ?

So wird das nichts.
Poste mal das Header File und das File in dem du es includiert
hast.
Kann es sein, dass es da einen Kreis gibt? Dass also
Header Filer A das Header File B includiert, welches seinerseits
wieder Header File A (auch über Umwege) inkludiert?

Wenn dem so ist, dann brauchst du eine Forward-Dekleration

Einfach ein

class CGroup;

in das Header File, bevor der Klassenname das erste mal
verwendet wird (natürlich auf globaler Ebene, also vor
der Klasse die CGroup verwendet). So eine Forward-Deklaration
sagt dem Compiler einfach nur, dass es tatsächlich eine Klasse
CGroup gibt. Das reicht um damit Pointer vereinbaren zu können,
den dafür benötigt der Compiler nicht das Wissen über die
Internals dieser Klasse.

von Hansi (Gast)


Angehängte Dateien:

Lesenswert?

So hier habe ich das Header File 'Group.h' und die beiden anderen Files, 
wo ich es includiert habe.

Besten Dank
Hansi

von Hansi (Gast)


Angehängte Dateien:

Lesenswert?

Sorry, so wie ich es sehe kann man nur 1 Dateianhang posten.

von Hansi (Gast)


Angehängte Dateien:

Lesenswert?

Hier noch das Header-File

von Karl H. (kbuchegg)


Lesenswert?

Hmm.
Ich sehe immer noch nicht, was da das Problem sein könnte.
Eigentlich sollte das so in Ordnung sein.

Du kannst dich, wie bereits angesprochen mit einer
Forward-Deklaration aus der Äffäre ziehen.

Lass deine KonfiguratorView.h so anfangen:
1
#define AFX_OPCKONFIGURATORVIEW_H__DAB05383_813E_4E14_AFBB_6937D92C566F__INCLUDED_
2
3
#if _MSC_VER > 1000
4
#pragma once
5
#endif // _MSC_VER > 1000
6
7
#include "OPC.h"
8
// #include "Group2.h"
9
class CGroup;             // <- Forward Dekleration
10
11
class COPCKonfiguratorView : public CFormView
12
{
13
protected: // create from serialization only
14
  COPCKonfiguratorView();
15
  DECLARE_DYNCREATE(COPCKonfiguratorView)
16
 ...

von Hansi (Gast)


Angehängte Dateien:

Lesenswert?

Gut diese Fehler konnten jetzt behoben werden, dafür sind 4 andere 
Errors erschienen, die vorher noch nicht da waren. --> Siehe Anhang

Gruss Hansi

von Karl H. (kbuchegg)


Lesenswert?

Hansi wrote:
> Gut diese Fehler konnten jetzt behoben werden, dafür sind 4 andere
> Errors erschienen, die vorher noch nicht da waren. --> Siehe Anhang
>

Ach komm.
Du kannst doch lesen!

Was steht denn in der Fehlermeldung:
'RBUtton' function does not take 0 parameters

Also schau dir die Aufrufe an und vergleiche mal damit
was die Funktion an Parametern erwartet.

von Hansi (Gast)


Lesenswert?

Ja das kann ich schon mich hat es nur verwundert, dass diese 
Fehlermeldung vorher noch nicht war.
Aber trotzdem danke für die Hilfe.

Gruss Hansi

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.