C2665 oder LNK2005 Fehler



  • Hallo,
    ich habe Klassen für ein Programm, die soweit funktionieren,
    wenn ich nun allerdings testweise einen MFC-Dialog erstelle, und eine Headerdatei meiner Klassen nach dem

    #ifdef __DEBUG 
    #define new DEBUG_NEW
    #endif
    

    include, passiert folgendes:
    x-mal erscheint

    "...\Vc7\include\xmemory(34) : error C2665: 'operator new' : none of the 5 overloads can convert parameter 1 from type 'char [56]'"

    Kann es sein, dass die STL mit dem DEBUG_NEW nicht zurecht kommt, bzw. andersherum?
    Setze ich das include vor die Zeilen, meldet sich der Linker mit:

    test error LNK2005: "void __cdecl Tester(int,double,class std::vector<double,class std::allocator<double> > &)" (?Tester@@YAXHNAAV?vector@NV?vector@NV?allocator@N@std@@@std@@@Z) already defined in Anwendung.obj

    Ich häng hier schon seit Tagen an dem Problem, möchte allerdings auch meine Klassen nicht wieder ändern. Wer kann mir helfen?
    Greetz, Felix



  • Das ganze hilft DIr sowieso nichts, wenn Du die STL verwendest... da Du dann immer die gleiche Zeile als Leak-Stelle bekommst (nämlich der allocator)...

    Um sinnvoll CRT-Leaks zu finden brauchst Du denn kompletten Callstack...
    http://www.codeproject.com/tools/leakfinder.asp


Anmelden zum Antworten