1

プロジェクトを作っています。これは別ファイルの関数宣言です。

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

メインファイルでプロトタイプを作成するときは、次を使用します。

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

これはコンパイルされません。最初の int 型を変更せずにメインメソッドで char 型にするために使用できる方法はありますか?

キャストを入力する必要があると思います。方法を理解する必要があります。

基本的に、コードは

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

ファイル 1 および

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

メイン用。ASCIIをcharに変換する必要があるかもしれません...

4

3 に答える 3

1

このように関数をオーバーロードできますが、2つの関数のシグネチャは異なります。つまり、リンク中に失敗します。あなたが何を達成しようとしているのかわかりませんが、委任するのに役立つかもしれません:

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

char最初の引数としての代わりにを渡したい場合はint、単にそうしてください。例:

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

charintC++で暗黙的にキャストできます。int必要に応じて、代わりに手動キャストを行うこともできます。

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

だから私はそれを理解しました。

cout << (文字) characterValue;

関数を含むファイルで。

Aで65だったので、Aに戻しました。

于 2012-10-22T00:20:58.997 に答える