Я пытаюсь получить доступ к члену структуры «Word» через другую структуру «Dict», используя двойной указатель **, но получая ошибку «нарушение доступа» в visual studio 2010. I проверил ссылку «accessing double pointer to structure» также на stackoverflow, но также не разрешил проблему. Может кто-нибудь, пожалуйста, помогите мне определить ошибку в коде? Я вставляю код здесь:переменная с двумя указателями, допускающая ошибку нарушения доступа в C++ struct program
======================================================================================================================== =====
#include <iostream>
#include <stdlib.h>
#include <time.h>
//#include "dict.h"
using namespace std;
enum WordType{All, Animal, Fruit, Name};
struct Word{
WordType type;
char word[20];
};
struct Dict{
int size;
int capacity;
Word **wordArray;
};
int main() {
Dict *dic = new Dict;;
dic->size=0;
dic->capacity=0;
strcpy((dic->wordArray[0])->word,"hi");
cout<< (dic->wordArray[0])->word;
system("pause");
return 0;
}
====================================== ==================
Вы не сделали 'wordArray' точки к чему-либо. Но отбросьте понтеров и используйте 'std :: vectors'. – juanchopanza
Подсказка: что такое значение 'dic-> wordArray'? –
[Указатель не является массивом] (http://stackoverflow.com/questions/1641957) –