2012-04-19 77 views
1

我调用了传递结构指针的下面的函数。我得到错误“解除指向不完整类型的指针”在哪里我指出currentTableItem - >请帮助。取消引用指向C代码中不完整类型的指针

+0

'currentTableItem'声明在哪里? – 2012-04-19 17:56:02

+1

该结构的定义在哪里? – 2012-04-19 17:56:03

回答

1

好像的struct md_CamsLatchTblStruct完整声明不会在这个时候编译器知道的,可能是因为你使用了向前声明:

编译器看到:

struct md_CamsLatchTblStruct; 

编译器不看(不包括/在另一个源文件中定义):

struct md_CamsLatchTblStruct { 
    int index; 
    int addr; 
    int mask; 
    int startBit; 
    // .. 
}; 
+1

我有2个结构...像这样..我通过指向函数int read(struct TblStruct * defaultTable) 的指针传递LatchTbl,如上所示struct TblStruct int index; int16_t data; int addr; int startBit; int16_t mask; }; struct TblStruct LatchTbl [0],{0,0,0,0,0,0FF,0}, {100,1,0,0XFF,1}, {2,00,2,0,0xFF,2}}; – user1336997 2012-04-19 18:44:44

+0

我没有说你没有申报。我说在编译你所展示的代码的时候,声明是不可见的。这个声明在哪里出现? – MByD 2012-04-19 18:46:36

相关问题