#include <iostream>using namespace std;int f(int x = 0) { cout << "x:" << x << endl; return 0;}int main() { f(); int f(int x = 1); f(); return 0;}
Output(在g 5.1上测试):
x:0x:1
我的问题:
>是int f(int x = 1);声明或定义?
>函数重新声明是否像未定义的行为?
For non-template functions,default arguments can be added in later declarations of a function in the
same scope. Declarations in different scopes have completely distinct sets of default arguments.
没有未定义的行为.你所看到的是强制性的.
总结以上是内存溢出为你收集整理的C:函数是否重新声明了一个未定义的行为?全部内容,希望文章能够帮你解决C:函数是否重新声明了一个未定义的行为?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)