我在做一个项目。这是一个单独文件中的函数声明。
void PrintLines(int characterValue, int characterCount, int lineCount)当我在我的主文件中创建原型时,我使用:
void PrintLines(char characterValue, int characterCount, int lineCount);这将不会编译。有没有什么方法可以让它在main方法中不改变第一个int类型(在另一个文件中?
我想我得键入cast。只需要弄清楚是怎么做到的。
基本上,代码必须是
void PrintLines(int characterValue, int characterCount, int lineCount)对于文件1和
void PrintLines(char characterValue, int characterCount, int lineCount);用于main。我可能需要把ASCII转换成字符...
发布于 2012-10-22 07:28:35
你可以像这样重载函数,但这两个函数有不同的签名,即在链接期间它将失败。我不确定你想要实现什么,但委派可能会有用:
void PrintLines(char cv, int cc, int lc) {
PrintLines(int(cv), cc, lc);
}发布于 2012-10-22 07:31:38
如果您想要传递char而不是int作为第一个参数,那么只需这样做即可。示例:
int x, y;
char c;
// ...
PrintLines(c, x, y);在C++中,char可以隐式强制转换为int。如果您愿意,也可以手动转换为int:
PrintLines(static_cast<int>(c), x, y);发布于 2012-10-22 08:20:59
所以我想通了。
cout << (char) characterValue;
在函数所在的文件中。
我得了A的65分,所以我把它换回了A。
https://stackoverflow.com/questions/13003225
复制相似问题