|
dev.gamez.lv Latvian Game Developers Community
|
View previous topic :: View next topic |
Author |
Message |
BHC Guest
|
Posted: Sat Dec 31, 2005 12:31 am Post subject: POD struktūru cilvēcīga inicializēšana. |
|
Pie POD struktūras inicializēšanas, kā, piemēram,
PIXELFORMATDESCRIPTOR pfd = { 0 };
Mēs pretī saņemam virkni vārningu, ka
"missing initializer for member... tiri piri..", kas man liek domāt, ka dotais kompilātors noinicializēs tikai pirmo memberi, nevis visus kā pēc standarta tam vajadzētu būt.
Protams, inicializēt var "gejiskā" veidā ar memsetu vai ZeroMemory, kā
ZeroMemory (&pfd, sizeof (pfd));, bet tas nav īsti pareizs stils.
Softs: Code::Blocks ar ieslēgtiem defaultajiem vārningiem un GNU GCC kompilātoru. Jā, vārningus var izslēgt, bet bez viņiem pilnībā negribu palikt, ņerr. ;)
BTW, MS Visual C++ nepurkst par tādu inicializēšanu.
Discuss. |
|
Back to top |
|
|
bubu Indago Uzvarētājs
Joined: 23 Mar 2004 Posts: 3223 Location: Riga
|
Posted: Sat Dec 31, 2005 3:57 pm Post subject: |
|
Hm...
Paņēmu šādu kodu:
Code: | #include <windows.h>
#include <stdio.h>
int main(int argc, char* argv[])
{
PIXELFORMATDESCRIPTOR pfd = { 0 };
printf("%i\n", ChoosePixelFormat(0, &pfd)); /* lai nav unused variable pfd */
return 0;
} |
Kompilēju gan kā
Code: | gcc main.c -lgdi32 -Wall |
gan arī kā
Code: | g++ main.cpp -lgdi32 -Wall |
Nebija neviena warninga.
GCC versija 3.4.4 |
|
Back to top |
|
|
BHC Guest
|
Posted: Sat Dec 31, 2005 5:23 pm Post subject: |
|
Man tie vārningi metās ar -W, bet ar -Wall šancē feini, yay. |
|
Back to top |
|
|
bubu Indago Uzvarētājs
Joined: 23 Mar 2004 Posts: 3223 Location: Riga
|
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|