Une question qui est primaire, je m'en doute:
En C, j'initialise mes variables de type struct par un memcpy(ptr, 0, size). Mais en C++ j'ai un superbe Segmentation fault au runtime. Et comment que je fais, moi, pour initialiser mes struct?![]()
Une question qui est primaire, je m'en doute:
En C, j'initialise mes variables de type struct par un memcpy(ptr, 0, size). Mais en C++ j'ai un superbe Segmentation fault au runtime. Et comment que je fais, moi, pour initialiser mes struct?![]()
Bonjour,
en C++, struct est une class où tout est public.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 struct A { int a; int b; A():a(0),b(0) {} }
Par contre le seg fault viens d'un erreur de t'as part. Tu peut utiliser memcpy en C++
Oups, erreur! Mon clavier a fourché: il s'agit de la fonction memset(), pas memcpy().
Et puis m'est venue une idée lumineuse: J'ai testé une mise à zéro d'une structure avec des types simples (int, toussa). Ça marche tip-top. Et puis j'ai ajouté un string... Et là c'est le gros plantage. Donc sur mon système Linux RHEL 4.5, peux pas travailler comme un gros boeuf.
En C++, il me semble que l'équivalent de memcpy et memset soit std::fill et std::fill_n.
Partager