1

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

void PrintLines(int characterValue, int characterCount, int lineCount)

当我在我的主文件中进行原型制作时,我使用:

void PrintLines(char characterValue, int characterCount, int lineCount);

这不会编译。有什么方法可以在不更改第一个 int 类型(在另一个文件中?

我想我必须打字。只需要弄清楚如何。

基本上,代码必须是

 void PrintLines(int characterValue, int characterCount, int lineCount)

对于文件 1 和

 void PrintLines(char characterValue, int characterCount, int lineCount);

为主要。我可能需要将 ASCII 转换为字符...

4

3 回答 3

1

您可以像这样重载函数,但是这两个函数具有不同的签名,即在链接期间它会失败。我不确定你试图实现什么,但它可能会委托:

void PrintLines(char cv, int cc, int lc) {
    PrintLines(int(cv), cc, lc);
}
于 2012-10-21T23:28:34.550 回答
0

如果您想传递 achar而不是 anint作为第一个参数,那么只需这样做。例子:

int x, y;
char c;
// ...
PrintLines(c, x, y);

char可以int在 C++ 中隐式转换为。int如果您愿意,也可以进行手动转换:

PrintLines(static_cast<int>(c), x, y);
于 2012-10-21T23:31:38.217 回答
0

所以我想通了。

cout << (char) 字符值;

在具有该功能的文件中。

我的 A 得 65,所以我把它改回 A。

于 2012-10-22T00:20:58.997 回答