大家好,
这是我的代码:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "sqlite3.h"
#include "db_typedefs.h"
#include "operations.h"
int main(){
printf("Text\n");
int f = 3;
void add_mini(3);
}
#ifndef ADD_OPERATIONS_H_INCLUDED
#define ADD_OPERATIONS_H_INCLUDED
void add_mini(int flag);
#endif // ADD_OPERATIONS_H_INCLUDED
void add_mini(int flag)
{
int rc;
rc = flag;
printf("%i\n", rc);
}
Operations.c还包含类似于main.c的库。
error: expected declaration specifiers or '...' before numeric constant
关于void add_mini(3)
好像我无法传递一个简单的整数值。调试时甚至会跳过add_mini行。 你知道发生了什么吗?
整个代码嵌入在一个较大的查询中以确定键入的订单,但这样可以正常工作。我无法通过这个简单的整数值。
提前致谢。
答案 0 :(得分:4)
使用时
void add_mini(3);
编译器认为它是函数声明,而不是函数调用。参数3
对函数声明无效。因此,编译器会抱怨。
删除void
部分以调用该函数。
int main(){
printf("Text\n");
int f = 3;
add_mini(3);
}
或者,因为您已将f
初始化为3
,
int main(){
printf("Text\n");
int f = 3;
add_mini(f);
}
答案 1 :(得分:3)
像这样调用函数:add_mini(3);
而不是void add_mini(3);
答案 2 :(得分:2)
从main.c中删除调用add_mini
的单词void:
add_mini(3);
或者
(void)add_mini(3);