【发布时间】:2015-04-26 15:44:18
【问题描述】:
我必须重载函数:
void wypisz(unsigned int32 x, int n = 1);
void wypisz(unsigned char x, int n = 1);
这是我升起它们的代码:
main()
{
wypisz((int32)(32), 7);
wypisz('a', 7);
return 0;
}
当我尝试使用 G++ 编译它时出现错误:
test.cpp:在函数'
int main()'中:test.cpp:10:21: 错误: 重载 '
wypisz(int, int)' 的调用是 暧昧wypisz((int)(32), 7);test.cpp:10:21: 注意:候选人是:
test.cpp:5:6: 注意:
void wypisz(unsigned int, int) void wypisz(unsigned int x, int n = 1);test.cpp:6:6: 注意:
void wypisz(unsigned char, int) void wypisz(unsigned char x, int n = 1);
当我删除 unsigned 时,它会正常编译。
有没有办法调用这个方法——我应该在调用语句中改变什么?不幸的是,我无法更改声明中的任何内容 = 他们必须保持原样。
【问题讨论】:
标签: g++ overloading