c++ 外部函数 声明带默认值调用错处
代码如下:
fa.c中代码
#include <iostream>
void fa(int a, int b)
{
//...
}
fb.c中代码
#include <iostream>
void fa(int a, 2); // 外部声明,带默认值
int main()
{
void fa(int a, int b = 2);
fa( 2); // 编译出错
return 0;
}
// 麻烦高手指点,外部文件定义的函数,如果在本文件中声明,还带默认值呢,如果使用呢,或者是否是声明做错了,谢谢!
[解决办法]
我vc6,就新建了一个工程。
设置
link:Y分类:general
输出文件名:Debug/11111111.exe
L对象/库模块:kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib
工程选项:kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /incremental:yes /pdb: "Debug/11111111.pdb " /debug /machine:I386 /out: "Debug/11111111.exe " /pdbtype:sept
还有就是G,I两项划上了钩。