&引用;结构没有名为“的成员”;dev计算机上的gcc错误

&引用;结构没有名为“的成员”;dev计算机上的gcc错误,gcc,struct,Gcc,Struct,可能是,如果您在C模式下编译,您必须在标题中使用C样式的注释? /**/我不想查看//而是想查看gcc-E的输出,看看您的结构转换成了什么。它将打印出编译器真正看到的预处理代码。这将向您显示DPDA结构类型发生了什么(如果有的话)。您通常不会在GCC命令行上编译头。问题中的代码在Mac OS X 10.9上的GCC 4.8.2下为我干净地编译-至少在-std=c11下,而不是-ansi(这相当于-std=c89不允许/注释。删除/注释,它在-ansi下也是干净的。感谢您指出,正是这个问题阻止了我

可能是,如果您在C模式下编译,您必须在标题中使用C样式的注释?
/**/我不想查看//

而是想查看
gcc-E
的输出,看看您的结构转换成了什么。它将打印出编译器真正看到的预处理代码。这将向您显示DPDA结构类型发生了什么(如果有的话)。您通常不会在GCC命令行上编译头。问题中的代码在Mac OS X 10.9上的GCC 4.8.2下为我干净地编译-至少在
-std=c11
下,而不是
-ansi
(这相当于
-std=c89
不允许
/
注释。删除
/
注释,它在
-ansi
下也是干净的。感谢您指出,正是这个问题阻止了我编译。请相信他,他把我推到了正确的轨道上,因此你也走到了正确的轨道上。)太跟踪了。欢迎使用堆栈溢出。只有过时(衰老)的编译器有
/
注释问题(并且GCC不是这些编译器之一,假设它是GCC 4.x)自从C99被定义以来,
/
注释已经是标准的14年左右了。因此,GCC命令行上的
-ansi
选项强制GCC进入过时模式(相当于
-std=c89
),然后不允许使用
/
注释。
#include <stdio.h>
#include <stdlib.h>
#include "ReadMethods.h"


int main(int argc,char * argv[])
{

DPDA WordChecker;
DPDA * WordCheckerPointer=&WordChecker;

WordChecker.DPDAFilename=(char*)malloc(25*sizeof(char));
WordChecker.DPDAInputFilename=(char*)malloc(25*sizeof(char));
WordChecker.DPDAOutputFilename=(char*)malloc(25*sizeof(char));
strcpy( WordChecker.DPDAFilename,argv[1]);
strcpy( WordChecker.DPDAInputFilename,argv[2]);
strcpy( WordChecker.DPDAOutputFilename,argv[3]);

readDPDA(argv[1],WordCheckerPointer);
readInputLines(argv[2],WordCheckerPointer,argv[3]);

return 0;
}
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef struct tagRule{
char *startingState;
char symbolToPop;
char expectedInput;
char *endingState;
char symbolToPush;
}Rule;

typedef struct tagStackDPDA{
char * arrayOfSymbols;
int stackElementCount;
char * currentState;
}stackDPDA;

typedef struct tagDPDA{
char * alphabet;
char * stackSymbols;
char ** states;
char *startingState;
char **finalStates;
int finalStatesAmount;
Rule * ruleList;
stackDPDA stackOfDPDA;
int sizeArray[4];//This array holds amount values of states,alphabet symbols,stack       symbols and transition rules
char *DPDAFilename;
char *DPDAInputFilename;
char *DPDAOutputFilename;
}DPDA;
gcc -Wall -ansi main.c ReadMethods.h -o WordChecker