有没有办法通过原型设计更改int类型以键入char?

时间:2012-10-21 23:25:15

标签: c++

我正在制作一个项目。 这是一个单独文件中的函数声明。

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 ...

3 个答案:

答案 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.