mikrocontroller.net

Forum: PC-Programmierung Kein Zugriff auf public Struktur


Autor: Diplomand (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe folgendes Problem.
class CSVInterface    { 
public: 
    int DateiLesen(char* pszFilename); 
    int DateiSchreiben(char* pszFilename); 
    int VerzeichnisLesen(char* pszFilename); 


public:    
    struct IGBTStruktur {        // Beschreibung 
        string ch_Hersteller; 
        string ch_Typ; 
        string i_Nennspannung; 
        string i_Nennstrom; 
        string ch_Pack; 
        string ch_Kommentar; 
    } IGBTDaten; 



protected: 
    int n,i,j;    // Indexvariablen 

}; 
void main(void){ 
    cout << "Das ist meine CSV Schnittstelle Testoberfläche\n**********************************************"<<endl; 

    CSVInterface CSV; 
    
    CSV.DateiLesen("CSVEingabe.csv"); 


    cout << "\nHersteller:\t" << CSV.IGBTDaten.ch_Hersteller << endl; 
    cout << "Typ:\t" << CSV.IGBTDaten.ch_Typ << endl; 
    cout << "Nennspannung:\t" << CSV.IGBTDaten.i_Nennspannung << endl; 
    cout << "Nennstrom:\t" << CSV.IGBTDaten.i_Nennstrom << endl; 
    cout << "Gehäuse:\t" << CSV.IGBTDaten.ch_Pack << endl; 
    cout << "Kommentar:\t" << CSV.IGBTDaten.ch_Kommentar << endl; 

    string TestString; 
    TestString =  CSV.IGBTDaten.ch_Hersteller.c_str(); 

    cout << "\nTestString:\t" << TestString << endl; 

    getch(); 
} 
Das hier funktioniert ...

Jetzt versuche ich diese Klasse in Simplorer C/C++ Interface nutzbar zu 
machen. Das ist ein Simulationsprogramm bei dem es möglich ist, 
Erweiterung über dieses Interface zu programmieren. Als Compiler dient 
dazu MS Visual C++ 6.0.
... 
    CSVInterface CSV; 
    CSV.DateiLesen("CSVEingabe.csv"); 
    
    string TestString; 
    TestString = CSV.IGBTDaten.ch_Hersteller.c_str();    
... 
Beim erstellen kommen folgende Fehlermeldungen
Setting environment for using Microsoft Visual C++ tools. 
ExcelImport.cpp 
ExcelImport.cpp(17) : error C2039: 'IGBTDaten' : Ist kein Element von 'CSVInterface' 
        CSVSchnittstelle.h(12) : Siehe Deklaration von 'CSVInterface' 
ExcelImport.cpp(17) : error C2228: Der linke Teil von '.ch_Hersteller' muss eine Klasse/Struktur/Union sein 
ExcelImport.cpp(17) : error C2228: Der linke Teil von '.c_str' muss eine Klasse/Struktur/Union sein 
ExcelImport2_Interface.cpp 
        1 file(s) copied.
Ich kann mir nicht erklären, warum dass in der Visual C++ Oberfläche 
funktioniert, beim übertragen aber nicht mehr. ch_Hersteller ist Teil 
der Klasse, da habe ich nichts verändert. Die Klasse wird vorher 
eingebunden, sonst würde es bereits bei der Objekterstellung zum Fehler 
kommen.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.