当前位置:编程学习 > C/C++ >>

求解函数声明的默认值问题?

在做学校大实验的时候帮同学调试代码,发现了这样的一个问题,虽然有解决方案,但实在不是很清楚这样写为什么不行,下面是我写的一个类似的代码,求大神解答!
 
就是用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 100  
  
int solve(int a = N) {  
    return a;  
}  
  
int main() {  
    printf("%d\n", solve(10));  
    printf("%d\n", solve());  
    return 0;  

 

 
补充:软件开发 , C++ ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,