这是我的代码中的一部分:
Type* compileExpression2(void) {
Type* type1;
Type* type2;
type1 = compileTerm();
type2 = compileExpression3();
}
Type* compileExpression3(void) {
Type* type1;
return type1;
}
Type* compileTerm(void) {
// TODO: check type of Term2
Type* type;
type = compileFactor();
compileTerm2();
return type;
}
我使用Code :: Blocks来构建它并返回此错误:
空值不被忽略,因为它应该是
在这一行:
type2 = compileExpression3();
请告诉我原因。
非常感谢你的所有答案。 我发现了我的问题。
是否在我的include文件中,compileExpression3已被声明为“void compileExpression3(void);”
答案 0 :(得分:3)
通过删除,compileTerm
可能会返回void
。
您添加了compileTerm
但现在缺少compileFactor
。