• ベストアンサー

C++の関数

関数の課題が出たんですが分からないので教えてください。 第1引数と第2引数はchar型の1元配列であり、これら2つの配列(文字列)を連続して表示する関数catstringがあるものとする。 ただし第2引数にはデフォルトの文字列"あいうえお"が設定されている。main関数からキーボード入力で2つの文字列を取得し、 catstringの第1引数のみに文字列が渡される場合と第1、2引数ともに文字列が与えられるプログラムを作成せよ。 やってみましたがエラーが出てしまいます。 #include <iostream> #include <cstdlib> using namespace std; char catstring(char,char="あいうえお"); int main() { char a,b; cin>>a; cin>>b; cout<<catstring(a)<<endl; cout<<catstring(a,b)<<endl; return EXIT_SUCCESS; } char catstring(char x,char y) { char s; s=x+y; return(s); }

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

> 第1引数と第2引数はchar型の1元配列であり ですから、char catstring(char x,char y) は誤りです。 char x, char y は char型の1元配列ではありません。

noname#63549
質問者

お礼

回答ありがとうございます。 なんとかできました。

その他の回答 (1)

回答No.2

課題ということなので、ヒントだけ。 >char catstring(char,char="あいうえお"); これではchar型の変数を値渡ししていることになります。 配列を引数にするのであれば、ポインタについて調べてみるといいと思います。

noname#63549
質問者

お礼

うまくいきました。 回答ありがとうございます。