Wywoływanie funkcji ze zmienną nazwą
Ostatnio zmodyfikowano 2011-05-27 14:26
GoldWolf Temat założony przez niniejszego użytkownika |
Wywoływanie funkcji ze zmienną nazwą » 2011-05-27 09:32:43 Taki przykład jakby to ugryźć:
while( straznik > 0 ) { HANDLE NazwaWatku =( HANDLE ) _beginthread( ThreadProc1, 0, NULL ); straznik -= 1; LPSTR NazwaWatku =( "Klasa Okienka" + straznik ); }
Mam błąd - 'NazwaWatku' : redefinition; different basic types |
|
malan |
» 2011-05-27 10:15:41 HANDLE NazwaWatku , LPSTR NazwaWatku . |
|
GoldWolf Temat założony przez niniejszego użytkownika |
» 2011-05-27 10:31:03 Chyba nie jest mi to potrzebne, ostatecznie tak to wygląda.
LPSTR NazwaWatku =( "Klasa Okienka" + straznik ); straznik -= 1; while( straznik > 0 ) { HANDLE NazwaWatku =( HANDLE ) _beginthread( ThreadProc1, 0, NULL ); straznik -= 1; }
Chciałem, by wątki się inaczej nazywały, ale ogólnie nie jest to potrzebne. Jednak czy można to jakoś zrobić nie stosując stałych? Czyli nazwy wątków będą dynamicznie nadawane.
To takie pytanie retoryczne, bo wszystko można, ale jest jakiś prostu sposób na to? |
|
malan |
» 2011-05-27 13:05:01 Mi chodziło o to, że zadeklarowałeś dwie zmienne o tej samej nazwie. Dlatego dostałeś redefinition . W C++ nie da się dynamicznie przydzielić zmiennej jej nazwy. Musi ona być znana podczas kompilacji. |
|
DejaVu |
» 2011-05-27 14:03:59 Druga sprawa to sklejanie łańcuchów znaków - nie możesz tak robić. Musisz użyć funkcji C do sklejania tekstu, np.
Dokumentacja |
---|
strcat | Scala dwa łańcuchy znaków w jeden. (funkcja) |
---|
|
|
GoldWolf Temat założony przez niniejszego użytkownika |
» 2011-05-27 14:26:00 Kurde miałem poprawić ostatecznie będzie to wyglądać tak, ponieważ nie będę nadawać inną nazwę, tylko tworzył kolejne wątki o tej samej nazwie, nie wymaga by było inaczej. straznik -= 1; while( straznik > 0 ) { HANDLE hThread1 =( HANDLE ) _beginthread( ThreadProc1, 0, NULL ); straznik -= 1; } Dzięki można zamknąć! |
|
« 1 » |