MFC Programmierung Error

Gast #733249
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
Angehängte Dateien:
#733309
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?
Gast #733319
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'
#733357
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.
#733438
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
 ...
#733486
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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren