我正在制作一个项目。 这是一个单独文件中的函数声明。
void PrintLines(int characterValue, int characterCount, int lineCount)
当我在我的主文件中进行原型化时,我使用:
void PrintLines(char characterValue, int characterCount, int lineCount);
这不会编译。是否有任何方法可以在main方法中使用它来键入char而不更改第一个int类型(在另一个文件中?
我想我必须输入强制转换。只需弄清楚如何。
基本上,代码必须是
void PrintLines(int characterValue, int characterCount, int lineCount)
表示文件1和
void PrintLines(char characterValue, int characterCount, int lineCount);
为主要。我可能需要将ASCII转换为char ...
答案 0 :(得分:1)
您可以重载此类函数,但这两个函数具有不同的签名,即在链接期间它将失败。我不确定你试图实现什么,但可能会委托:
void PrintLines(char cv, int cc, int lc) {
PrintLines(int(cv), cc, lc);
}
答案 1 :(得分:0)
如果你想传递char
而不是int
作为第一个参数,那么就这样做。例如:
int x, y;
char c;
// ...
PrintLines(c, x, y);
char
可以在C ++中隐式转换为int
。如果您愿意,也可以手动转换为int
:
PrintLines(static_cast<int>(c), x, y);
答案 2 :(得分:0)
所以我想通了。
cout&lt;&lt; (char)characterValue;
带有该功能的文件中的。
我的A得到65,所以我把它换回A.