構造体をmain.hに持っていますが、構造体の3D配列のメモリを割り当てようとすると次のコンパイラエラーが発生します。私の.hファイルで定義されている構造体の3D配列にアクセスできない
'text' has no member named 'list'
ここで私は3D配列に対して、構造体内の他の変数のみを取得します。
main.h
#define MAX_WORD 100
typedef struct textTag {
char name[100];
char ***list;
int words;
}text;
main.cの
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "main.h"
void createArray(FILE *file, text *checkTexts, int fileCount, int size){
int i, n, wordCount, sections, rest;
FILE *textFile;
text localText;
char fileName[MAX_WORD + 30];
readFileNames(file, checkTexts);
for(i = 0; i < fileCount; i++){
localText = checkTexts[i];
strcpy(fileName, "./testFolder/");
strcat(fileName, checkTexts[i].name);
openFile(&textFile, fileName);
checkTexts[i].words = countWords(textFile);
sections = (wordCount/size);
rest = wordCount % size;
checkTexts[i].list = malloc(sections * sizeof(char **)); //Compile error here
for(n = 0; n < sections; n++){
checkTexts[i].list[n] = malloc(size * sizeof(char *)); //Compile error here
}
checkTexts[i].list[sections] = malloc(rest * sizeof(char*)); //Compile error here
readFileContent(textFile,checkTexts[i].list, size); //Compile error here
}
}
コンパイルエラーを含めてください – DipSwitch
nvmはそれを見て – DipSwitch
あなたはコンパイルエラーだけを述べましたが、あなたが受け取った正確なエラーは言及していませんでした。あなたはそれに言及する必要があります。 – Lion