为什么我的函数没有被调用?我不明白为什么需要声明
Why isn't my function invoked? I don't understand why a declaration is expected
大家好,
这是我的代码:
main.c
#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);
}
operations.h
#ifndef ADD_OPERATIONS_H_INCLUDED
#define ADD_OPERATIONS_H_INCLUDED
void add_mini(int flag);
#endif // ADD_OPERATIONS_H_INCLUDED
operations.c
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
关于作废 add_mini(3)
我好像无法传递简单的整数值。在调试时它甚至跳过 add_mini 行。
你知道发生了什么事吗?
整个代码嵌入了一个更大的查询以确定输入的订单,但这工作正常。我只是不能传递这个简单的整数值。
提前致谢。
像这样调用函数:add_mini(3);
而不是 void add_mini(3);
从 main.c 中删除用于调用 add_mini
的单词 void :
add_mini(3);
或者
(void)add_mini(3);
当你使用
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);
}
大家好,
这是我的代码:
main.c
#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);
}
operations.h
#ifndef ADD_OPERATIONS_H_INCLUDED
#define ADD_OPERATIONS_H_INCLUDED
void add_mini(int flag);
#endif // ADD_OPERATIONS_H_INCLUDED
operations.c
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
关于作废 add_mini(3)
我好像无法传递简单的整数值。在调试时它甚至跳过 add_mini 行。 你知道发生了什么事吗?
整个代码嵌入了一个更大的查询以确定输入的订单,但这工作正常。我只是不能传递这个简单的整数值。
提前致谢。
像这样调用函数:add_mini(3);
而不是 void add_mini(3);
从 main.c 中删除用于调用 add_mini
的单词 void :
add_mini(3);
或者
(void)add_mini(3);
当你使用
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);
}