Ik wil dus een pointer initialiseren. Met normale pointers is dit niet zo'n probleem:
Ook pointers-pointers lukt nog:
Maar als ik daar een pointer-pointer-pointer van wil maken, dan werkt dat niet:
Waarom niet
En hoe krijg ik dit werkend 
(Overigens: als ik *audio_encoders[][] in *audio_encoders[][4] verander, werkt het wel, maar da's niet echt waar ik naartoe wil
)
[edit]
compiler-output geven is wel handig
Compiler: gcc, OS: linux-2.4.17, glibc: 2.2
code:
1
| const gchar *blaat = "bla"; |
Ook pointers-pointers lukt nog:
code:
1
2
3
4
5
| const gchar *hz_list[] = { "11025",
"22050",
"44100",
"48000",
NULL }; |
Maar als ik daar een pointer-pointer-pointer van wil maken, dan werkt dat niet:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
| const gchar *audio_encoders[][] = {
{ "MPEG-1 layer 3",
"Raw PCM WAV",
NULL },
{ "Raw PCM WAV",
NULL },
{ "MPEG-1 layer 1",
"MPEG-1 layer 2",
"MPEG-1 layer 3",
NULL },
{ "Ogg Vorbis",
NULL },
{ "MPEG-1 layer 1",
"MPEG-1 layer 2",
"MPEG-1 layer 3",
NULL },
{ "Raw PCM WAV",
NULL },
NULL
}; |
Waarom niet
(Overigens: als ik *audio_encoders[][] in *audio_encoders[][4] verander, werkt het wel, maar da's niet echt waar ik naartoe wil
[edit]
compiler-output geven is wel handig
code:
1
2
3
4
5
| elements of array `audio_encoders' have incomplete type warning: excess elements in array initializer warning: (near initialization for `audio_encoders[2]') warning: excess elements in array initializer warning: (near initialization for `audio_encoders[4]') |
Compiler: gcc, OS: linux-2.4.17, glibc: 2.2