[英]Conflicting types when calling a method
#include <stdio.h>
#define MAX 9
void main (int argc, char *argv[]) {
printBoard();
}
void printBoard(void) {
int row,col;
row=col=0;
for(row;row<MAX;row++) //row navigation
for(col;col<MAX;col++){//column navigation
printf("r:%d,c:%d",row,col);
}/*End Column Nav*/
printf("\n");
}
我不确定自己在做什么错-我得到的错误是:
“警告:'printBoard'的类型冲突(默认情况下启用)注意:'printBoard'的先前隐式声明在此处”
尝试在main()
上方为printBoard
添加函数原型 ,例如,
void printBoard(void);
void main(...)
调用后已声明函数。
#include <stdio.h>
#define MAX 9
void printBoard(void) {
int row,col;
row=col=0;
for(row;row<MAX;row++) //row navigation
for(col;col<MAX;col++){//column navigation
printf("r:%d,c:%d",row,col);
}/*End Column Nav*/
printf("\n");
}
void main (int argc, char *argv[]) {
printBoard();
}
这应该可以正常工作。
编辑:您应该在调用任何函数之前声明所有函数。
就像void printBoard(void);
您在声明该方法之前先对其进行调用。
通过以下方法解决问题:
1)将void printBoard(void)
的定义void printBoard(void)
main或
2)在main
之上添加一个声明。 就是这一行: void printBoard(void);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.