Je souhaite avoir une carte de hachage simultanée en tant que membre de la structure. Je le fais comme ci-dessous:tbb carte de hachage simultanée en tant que membre de la structure
typedef concurrent_hash_map<int, int> Acreaders;
struct node{
void *obj;
int size; // see if required
Acreaders acrdr;
};
Alors que je devrais pouvoir accéder à insérer dans la table de hachage comme:
Acreaders::accessor a;
struct node *n;
n = (struct node *)malloc(sizeof(struct node));
(n->acrdr).insert(a, 5);
Bien que le programme compile correctement, il conduit à une segmentation faute.
Quel pourrait être le problème? Merci ..
Avez-vous essayé d'écrire votre code en C++? (C'est-à-dire utiliser 'new', par opposition à l'utilisation de fonctions C telles que' malloc'?). Par exemple, actuellement le constructeur de 'n-> acrdr' ne sera jamais appelé, ce qui est probablement la cause de votre segfault. – anderas