Salut à tous,
j'ai une petite question. En ce qui me concerne j'ai toujours pensé que le mot clé "const" servait seulement à rendre une variable "non modifiable". Mais il faut croire que j'ai loupé quelques chose d'important!
voici un bout de code :
Pour ceux qui l'auront compris, j'ai volontairement omis les "this" et consor mais en gros j'essaye de faire un objet C++ en C (J'arrive pas à le lâcher
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 typedef long printstring_t(void); typedef struct _ObjVtbl { printstring_t * printstring; } ObjVtbl; typedef struct _Obj { IExampleVtbl * lpvtbl; } Obj; long printstring(void) { return(0); } static const ObjVtbl Obj_vtbl = { printstring }; int main(void) { Obj * obj; obj = HeapAlloc(GetProcessHeap(), 0, sizeof(IExample)); obj->lpvtbl->printstring = printstring; obj->lpvtbl->printstring(); return(0); }). Bref...
Question simple : pourquoi le const me crée un SEGFAULT?
EDIT : Je précise que le compilo m'avertit bien du schmilblik (c'est plus clair avec gcc).
cl : warning C4090 : ' =' : different 'const' qualifiers.
gcc : error : assignment discards qualifiers from pointer target type.
Merci.
Partager