我的程序遇到了一个非常奇怪的问题,希望您能提供帮助。我有一对非常基本的功能。一个调用另一个并需要返回 int。
由于完全未知的原因,如果将变量的返回值分配给变量,即使条件为真,第一个函数也无法打印出匹配项,即:
函数一:
int function1(int posX, int posY){
int x=1;
int y=1;
if (posX == X && posY == Y){
printf("Match");
return 1;
}
}
功能二:
int i = function1(1, 1);
有效:
function1(1,1);
所以澄清一下,我是说如果我收到消息“匹配”,它就会工作。
最佳答案
(posX == X && posY == Y)
C/C++ 区分大小写。 “X”和“Y”分别代表什么?
也许尝试将它们更改为小写?
此外,始终尝试返回
一个值,即使没有匹配(函数function1
应该返回一个int
值,对吗?)
代码:(更正)
int function1(int posX, int posY){
int x=1;
int y=1;
if ((posX == x) && (posY == y)){
printf("Match");
return 1;
}
return 0;
}
关于C++ Visual Studio Express - 分配返回值失败函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10067871/