none
Fehlermeldung: LNK2028 RRS feed

  • Frage

  • Hallo,

    ich habe folgende Funktion in der Header-Datei: "Funktionen.h" definiert:

    Funktionen.h:

    #include "Form1.cpp"

    std::ostream& operator<<(std::ostream& r, Artikel& a);

    namespace Funktionen1 {

        using namespace System;
        using namespace System::ComponentModel;
        using namespace System::Collections;
        using namespace System::Windows::Forms;
        using namespace System::Data;
        using namespace System::Drawing;
        using namespace std;

        void write_artikel_daten(std::string const& filename, Artikel &data)
        {
            //Artikel data;
            std::ofstream ofs;
            ofs.open(filename, std::ios::app);
            ofs << data;
            ofs.close();
        }

    In der Datei: "Form1.cpp" sind die Variablen mit "extern" deklariert.

    Artikel ist eine Struktur. Deklariert in der WinForm-Datei: "Test1.h" mit Artikel artikel;

    Damit erhalte ich folgende Fehlermeldung LNK2028:

    Nicht aufgelöstes Token (0A000A45) ""class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl operator<<(class std::basic_ostream<char,struct std::char_traits<char> > &,struct Artikel &)" (??6@$$FYAAEAV?$basic_ostream@DU?$char_traits@D@std@@@std@@AEAV01@AEAUArtikel@@@Z)", auf das in Funktion ""void __cdecl Funktionen1::write_artikel_daten(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,struct Artikel &)" (?write_artikel_daten@Funktionen1@@$$FYAXAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AEAUArtikel@@@Z)" verwiesen wird.    CppCLR_WinForms_GUI2    E:\MeineProgramme\Visual_Studio\C++\Windows_Desktop\CppCLR_WinForms_GUI2\CppCLR_WinForms_GUI2\CppCLR_WinFormsProject.obj    1    

    Wie kann ich diesen Fehler beheben ?

    MfG

    Juergen B.

    Sonntag, 20. November 2022 11:11

Antworten

  • Hallo,

    ich habs gefunden, bei der Header-Datei: "Funktionen.h" fehlte etwas:


    Funktionen.h:

    #include "Form1.cpp"

    std::ostream& operator<<(std::ostream& r, Artikel& a)

    {
       r << a.nummer_ << ",'" << a.bezeichnung_ << "'," << a.preis_ << "," << a.anzahl_ << "," << a.limit_ << "\n";
        return r;
    }

    namespace Funktionen1 {

        using namespace System;
        using namespace System::ComponentModel;
        using namespace System::Collections;
        using namespace System::Windows::Forms;
        using namespace System::Data;
        using namespace System::Drawing;
        using namespace std;

        void write_artikel_daten(std::string const& filename, Artikel &data)
        {
            //Artikel data;
            std::ofstream ofs;
            ofs.open(filename, std::ios::app);
            ofs << data;
            ofs.close();
        }

    }

    damit kann ich mein Projekt erstellen.

    MfG

    Juergen B.

    • Als Antwort markiert jbaben Sonntag, 20. November 2022 13:25
    Sonntag, 20. November 2022 13:25