// <string> の演算子の調査 // [結合]a = b + c + d; の 3つ以上OKか #include <iostream> #include <string> using namespace std; int main( ) { char cA[] = "000"; char cB[] = "111"; char cC[] = "222"; string szA = "Hoge"; string szB = "HAGE"; string szC = "Baka"; string szD = szA + 'Q' + cA + cB + cC ; cout << szD << endl; return 0; } /* OK です。 string型ならなんの問題もなくいくつでも連結できます。 char *型の場合は、右辺の第1項、第2項と続く場合にエラーとなります。 e.g.: szD = cA + cB + szA; ~~~~~~~ ここがポインタ演算となるだけだから 右辺の演算順序で (char * ) + (char * ) の計算にならないようにすればいい。 あと、char型も扱えます。 すなわち、右辺の第2項までに必ず string型が存在すればいい。 ヘッダファイルを見れば分かるのですが、一応試しに。 */ // end of file