[C++/CLI] Aufruf statischer Memberfunktion?



  • Huhu BlackSheep gemeinde...
    ich bin grad dabei etwas C++/CLI zu lernen und wollte mir ein Programm schreiben das einen String von einer in eine andere datei schreibt...

    also Das prog sieht so aus:

    NookieCopy.h

    #pragma once
    using namespace System::IO;
    using namespace System;
    
    ref class NookieCopy
    {
    public:
        void CopyStr(String ^sSourcePfad, String ^sDestinationPfad);
    };
    

    NookieCopy.cpp

    #include "StdAfx.h"
    #include "NookieCopy.h"
    
    void NookieCopy::CopyStr(String ^sSourcePfad, String ^sDestinationPfad)
    {
    
        StreamReader ^datei1 = gcnew StreamReader(sSourcePfad);
        String ^s = datei1->ReadToEnd();
        datei1->Close();
        StreamWriter ^datei = gcnew StreamWriter(sDestinationPfad);
        datei->WriteLine(s);
        datei->Close();
    
    }
    

    copy.cpp

    // Copy.cpp: Hauptprojektdatei.
    
    #include "stdafx.h"
    #include "NookieCopy.h"
    
    using namespace System::IO;
    using namespace System;
    
    int main(array<System::String ^> ^args)
    {
    
        Console::WriteLine("Source Pfad?");
        String ^sSourcePfad = Console::ReadLine();
        Console::WriteLine("Destination Pfad?");
        String ^sDestinationPfad = Console::ReadLine();
    
        NookieCopy::CopyStr(sSourcePfad, sDestinationPfad);
    
        return 0;
    }
    

    Leider bekomme ich beim kompilieren folgenden Error...

    error C2352: 'NookieCopy::CopyStr': Unzulässiger Aufruf einer nicht statischen Memberfunktion

    Was mache ich da Falsch?
    mfg



  • Nookie! schrieb:

    error C2352: 'NookieCopy::CopyStr': Unzulässiger Aufruf einer nicht statischen Memberfunktion

    Was mache ich da Falsch?
    mfg

    Kann es sein dass bei NookieCopy::CopyStr ein static o.ä. fehlt?



  • Du solltest vielleicht ein "static" davorschreiben?
    Oder eben eine Instanz der Klasse anlegen...



  • Ah ja.. was für ein peinlicher fehler...
    najo ich hoffe das passiert mir nicht wieder...
    Danke 😛


Log in to reply