本文主要是介绍求解函数声明的默认值问题?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
在做学校大实验的时候帮同学调试代码,发现了这样的一个问题,虽然有解决方案,但实在不是很清楚这样写为什么不行,下面是我写的一个类似的代码,求大神解答!
就是用define定义的一个宏,然后在函数声明的时候作为函数参数的默认值,会报错,但是直接在定义上就不会有错。
有误代码:
#include <stdio.h>
#define N 100
int solve(int a = N);int main() {printf("%d\n", solve(10));printf("%d\n", solve());return 0;
}int solve(int a = N) {return a;
}
可执行代码:
#include <stdio.h>
#define N 100int solve(int a = N) {return a;
}int main() {printf("%d\n", solve(10));printf("%d\n", solve());return 0;
}
这篇关于求解函数声明的默认值问题?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!