c++ gehler ? kann wer helfen ?



  • hustbaer schrieb:

    @cevin
    Dann wundert es mich wie du die ganzen anderen Fehlermeldungen los geworden bist, denn genau dieser Fehler findet sich in deinem ursprünglich geposteten Code in min. 10 Zeilen.

    Du übergibst einen wchar_t String (L"blah"), die Funktion hätte aber gerne einen char String ("blah"). Also mach das L weg.

    if(!CreateGLWindow("OpenGL", 640, 480, 16, fullscreen))
    
    36 C:\Dev-Cpp\main.cpp cannot convert `const char*' to `const WCHAR*' for argument `1' to `bool CreateGLWindow(const WCHAR*, int, int, int, bool)'
    

    jetzt will er soweit ich es sehen kann andersrum also wchar ?? oder ??



  • Weil die CreateGLWindows-Funktion einen Wide-String möchte ...



  • das heißt ? 🙂



  • cevin schrieb:

    das ist es ja ich habe keine ahnung ... ich kann leider nicht (warum auch immer ) microsoft c++ nicht benutzen ... und nehme da so ein programm was nur lesen und ausführen kann = es klappt oder es klappt nicht 😕

    ?
    Du kannst deine Frage nicht formulieren.
    Du kannst deinen Fehler nicht formulieren.
    Du kannst deine Umgebung nicht beschreiben.
    Du weißt nicht was du willst.
    Du weißt nicht was du machst.
    Du weißt überhaupt sehr wenig.
    Mit C++, dem Forumstitel (falls du den wenigstens gelesen hast), hat dein Code nichts zu tun. Das ist pures C mit WinAPI.
    Es ist schon ziemlich schizophren, WinAPI nicht mit MSVC compilieren zu wollen.

    Mit <windows.h> bindest du u.a. das Makro TEXT() ein, welches für dich Stringliterale abhängig vom eingestellten Unicode/Multibyte richtig interpretiert, also verwende für jedes deiner Stringliterale TEXT("bla") statt "bla" oder L"bla".



  • also ich find das doch echt geil ... ihr haltet mir vorträge über foren regeln .. und selbst ?? hättest du aufgepasst hättest du bemerkt das das ein beispiel code aus dem internet ist .... der bei mir nicht läuft und ich habe sehr wohl beschrieben was ich habe ich habe den ganzen code und die betrofene zeile mit dem zugehörigen fehler code gepostet ... ihr macht euch über mich lustig ist das was ihr in eurer freizeit gerne macht .... meine frage war deutlich entweder hier ist jemand so liebt mir zu helfen oder man lässt es aber so welche komentare sind echt überflüssig





  • Ethon schrieb:

    http://www.codeproject.com/Articles/76252/What-are-TCHAR-WCHAR-LPSTR-LPWSTR-LPCTSTR-etc

    danke damit habe ich das hinbekommen jetzt zeigt mir das prog.. ein anderen fehler 😕

    NULL, NULL, hInstance, NULL)))
    
    202 C:\Dev-Cpp\main.cpp cannot convert `const WCHAR*' to `const CHAR*' for argument `3' to `HWND__* CreateWindowExA(DWORD, const CHAR*, const CHAR*, DWORD, int, int, int, int, HWND__*, HMENU__*, HINSTANCE__*, void*)'
    

    will er jetzt wieder char ?? oder ??



  • Steht doch da: Das dritte Argument ist bei dir ein wchar_t*, er möchte aber gerne einen char*.



  • Du beherrscht weder die Sprache Deutsch, noch C noch C++ und ignorierst hier gegebene Hinweise. Daran ändert auch dein naives Echauffieren nichts und dein Reagieren auf die glasklare Compilermeldung spricht ebenso nur für deinen Mangel an Auffassungsgabe.



  • das beim einen er einen wchar kommt ok aber wie soll ich es bei dem anderen machen???



  • cevin schrieb:

    Ethon schrieb:

    http://www.codeproject.com/Articles/76252/What-are-TCHAR-WCHAR-LPSTR-LPWSTR-LPCTSTR-etc

    danke damit habe ich das hinbekommen jetzt zeigt mir das prog.. ein anderen fehler 😕

    Dein Programm ist doch garnicht gelaufen, wie kann dir es Fehler anzeigen? Was soll der Sinn sein, ein aus dem Internet beschaftest Code ohne Kenntisse, die Fehler auszubügeln, übrings die Hilfe dieses Forum besteht dich darin, dein Code zu säubern, dir die Funktionsweise deine IDE zu erklären,...

    Dein Fehler ist eigentlich simple, im Code ist ein andere Type angewandt als dessen Funktion ihm deklariert hat. Versteht du nicht? Dann ließ dir ein Buch für Änfänger.



  • Verwend durchgehend die WinAPI Funktionen die auf W enden, also z.b. CreateWindowExW() und arbeite durchgehend mit wchar_t. Oder verwend durchgehend die WinAPI Funktionen die auf A enden, also z.B. CreateWindowA() und arbeite durchgehend mit char.

    Abgesehen davon wäre auch mein gut gemeinter Rat, dass du deine Experimente mit OpenGL erstmal bleiben lässt und ordentlich C++ lernst, da du offenbar noch massive Probleme mit den sprachlichen Grundlagen hast. So wird das vermutlich jedenfalls nur in Frustration enden...



  • Du machst es jetzt so:

    Du ersetzt jedes LPWSTR und LPSTR durch LPTSTR.
    Du ersetzt jedes Stringliteral (Soetwas: "abc") durch ein ein TEXT(Literal), also zb TEXT("abc").

    Dann checkst du zwar immer noch nicht was abgeht, aber es kompiliert ...



  • Zeus schrieb:

    cevin schrieb:

    Ethon schrieb:

    http://www.codeproject.com/Articles/76252/What-are-TCHAR-WCHAR-LPSTR-LPWSTR-LPCTSTR-etc

    danke damit habe ich das hinbekommen jetzt zeigt mir das prog.. ein anderen fehler 😕

    Dein Programm ist doch garnicht gelaufen, wie kann dir es Fehler anzeigen? Was soll der Sinn sein, ein aus dem Internet beschaftest Code ohne Kenntisse, die Fehler auszubügeln, übrings die Hilfe dieses Forum besteht dich darin, dein Code zu säubern, dir die Funktionsweise deine IDE zu erklären,...

    Dein Fehler ist eigentlich simple, im Code ist ein andere Type angewandt als dessen Funktion ihm deklariert hat. Versteht du nicht? Dann ließ dir ein Buch für Änfänger.

    es geht um mein programier program dev cpp was mir den fehler in der zeile anzeigt und mir den fehlercode giebt ... und es ist doch meine sache ob ich mir ein code aus dem internet hole ... ich lerne dadurch ... heute z.b ne menge über wchar und char (dank euch )



  • Ethon schrieb:

    Dann checkst du zwar immer noch nicht was abgeht, aber es kompiliert ...

    Nein wird es nicht, da er offenbar nicht mit Visual Studio arbeitet und sein Compiler/seine IDE per default UNICODE nicht definiert haben...



  • dot schrieb:

    Ethon schrieb:

    Dann checkst du zwar immer noch nicht was abgeht, aber es kompiliert ...

    Nein wird es nicht, da er offenbar nicht mit Visual Studio arbeitet und sein Compiler/seine IDE per default UNICODE nicht definiert haben...

    Ist TEXT nicht etwa so definiert?

    #ifdef UNICODE
    #define TEXT(x) L x
    #else
    #define TEXT(x) x
    #endif
    


  • Sry, natürlich hast du recht, war grad einen Moment lang verwirrt 😉

    Zusätzlich muss er dann aber auch noch char und wchar_t durch TCHAR ersetzen.



  • dot schrieb:

    Ethon schrieb:

    Dann checkst du zwar immer noch nicht was abgeht, aber es kompiliert ...

    Nein wird es nicht, da er offenbar nicht mit Visual Studio arbeitet und sein Compiler/seine IDE per default UNICODE nicht definiert haben...

    da hast du recht ich habe zwar visual studio aber er zeigt mir immer den gleichen fehler link1123 fehler ... selbst wenn ich alles richtig mache z,b hello world und so 😕



  • cevin schrieb:

    da hast du recht ich habe zwar visual studio aber er zeigt mir immer den gleichen fehler link1123 fehler ... selbst wenn ich alles richtig mache z,b hello world und so 😕

    Das ist dann aber ein anderer Fehler. Und wenn du einen Fehler bekommst, hast eben offenbar nicht alles richtig gemacht...

    Nochmal mein Rat: Lern erstmal C++ einigermaßen zu beherrschen und beschäftige dich erst dann mit solchen Sachen wie dem hier. Irgendwelchen Code aus dem Internet kopieren führt auf längere Sicht sicherlich nicht zum Erfolg.



  • #include <iostream>
    
    using namespace std;
    
    int main (int argc, char *argv[])
    {
      cout << "Hallo!" << endl;
      cout << " ENTER drücken ..." << endl; 
      cin.get();
      return 0;
    }
    

    ich denke ds habe ich schon ganz richtig gemaht da dev cpp es hinkriegt daraus was zu machen aber bei visual kommt auch immer so ein link1123 fehler immer auch bei anderen code


Anmelden zum Antworten