我正在尝试使用 MinGW 4.7.2 编译一个简单的 C++ 程序,但对大量错误和警告感到沮丧。
/*\ program.h \*/
typedef struct
{ int member0;
int member1;
int member2;
int member3;
} structure;
void function(&structure);
/*\ program.cpp \*/
#include "program.h"
int main(void)
{ structure *instance;
function(instance);
}
void function(&structure)
{ // nothing
}
function
接受 a 的地址structure
。指针instance
包含 a 的地址,structure
然后将其传递给function
。
很简单,但编译器不高兴。
g++ program.cpp
In file included from program.cpp:1:0:
program.h:8:14: error: variable or field 'function' declared void
program.h:8:25: error: expected primary-expression before ')' token
program.cpp: In function 'int main()':
program.cpp:5:19: error: 'function' was not declared in this scope
program.cpp: At global scope:
program.cpp:8:14: error: variable or field 'function' declared void
program.cpp:8:25: error: expected primary-expression before ')' token
variable or field 'function' declared void
想告诉我什么?function
很明显void
,但那有什么不好呢?我花了几个小时寻找这些答案,但没有成功。
如何在不使编译器呕吐的情况下将指针传递给结构?