c – 函数参数
发布时间:2020-12-16 06:46:56 所属栏目:百科 来源:网络整理
导读:我不明白为什么这段代码有效. int f(int,int);int main(){ f(12,21); return 0;}int f(int,int b){ return 0;} 我怎样才能在函数f(…)中使用第一个arg? 解决方法 参数名称不是函数签名的一部分,只是它的名称和参数的类型. 因此,完全合法的不是命名您的参数.
我不明白为什么这段代码有效.
int f(int,int); int main() { f(12,21); return 0; } int f(int,int b) { return 0; } 我怎样才能在函数f(…)中使用第一个arg? 解决方法
参数名称不是函数签名的一部分,只是它的名称和参数的类型.
因此,完全合法的不是命名您的参数.但是,您无法使用它们. (当然,除非你做一些黑客攻击) 一些黑客攻击:注意 – 不是平台独立,不是标准保证,而是有趣:) void foo (int x,int,int z) { int* pz = &z; int y = *(--pz); cout << x << " " << y << " " << z; } int main() { foo(2,3,4); // prints "2 3 4" } 这适用于Win7上的MSVS 2008.代码取决于如何在函数参数堆栈上推送参数. 在生产代码中,您应该为所有参数使用名称,包括在声明中,并使它们尽可能具有描述性. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |