in einer anderen Datei auf struct zugreifen



  • Ich habe in einer Datei einen Struct definiert. Auf dessen Eigenschaften möchte ich in einer anderen cpp Datei zugreifen. Wie könnte ich dieses tun. Mein Vorschlag war folgender gewesen:

    if (Algorithmus::Raum=pDoc->m_raum)
    	{
    	for (i=0;i<30;i++)
    	{
    		vername[i]=Algorithmus::Raum.Veranst[i];
    		prof[i]=Algorithmus::Raum.Vorlesender[i];
    	}}
    

    Dabei kommt die folgende Fehlermeldung:
    error C2597: illegal reference to non-static member 'Algorithmus::Raum'
    error C2228: left of '.Veranst' must have class/struct/union type
    error C2228: left of '.Vorlesender' must have class/struct/union type

    Wer kann mir helfen????



  • Algorithmus::Raum ist ein Typ und kein Objekt. Daher vergleichst du ( im Moment ist es eine Zuweisung ) in der if Anweisund einen Typ mit einem Objekt. Das funktioniert nicht 😞

    Wenn du in Datei a.cpp eine Struktur definiert hast:

    // Header-Datei mit der Deklaration von Raum ( a.h )
    struct Raum
    {
      string Veranst;
      string Vorlesender;
    };
    
    // Datei a.cpp
    #include <a.h>
    
    Raum m_Raeume[20];
    

    Dann kannst du in Datei b.cpp wie folgt darauf zugreifen

    // Datei b.cpp
    #include <a.h>
    
    extern Raum m_Raeume[];
    
    for( i=0; i<20; i++ )
    {
      string vername = m_Raeume[i].Veranst;
      string prof = m_Raeume[i].Vorlesender;
    }
    

    ➡ In der FAQ sind jede Menge Kurse und Dokumente drin. lese doch einfach mal nach wie structs funktionieren.



  • tvdog schrieb:

    Algorithmus::Raum ist ein Typ und kein Objekt.

    Woher willst du das wissen?
    Könnte auch eine statische Member-Variable sein.


Anmelden zum Antworten