• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ポインターにポインターを加えようとしました。のエラーについて)

ポインターにポインターを加えようとしました。のエラーについて

このQ&Aのポイント
  • ポインターにポインターを加えようとしました。とエラーが出ます。
  • m_InputData=m_InputData+buf+crlf;では問題無いのに、m_InputData=buf+crlf;にするとポインターにポインターを加えようとしました。とエラーが出ます。
  • 対処方法はどうすれば良いのでしょうか?

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

  • ベストアンサー
noname#5537
noname#5537
回答No.2

ポインタ同士の足し算は出来ません。(やっても意味ないですから) m_InputData = buf + crlf; の右辺は char* 型同士の足し算になりますから当然 NG です。 # m_InputData = m_InputData + buf + crlf; # が OK なのは, # CString operator + ( const CString& string, LPCTSTR lpsz ); # というふうに + 演算子がオーバーロードされているからです。 # LPCTSTR は const char* のことだと思えば(厳密には違いますけど), # なんとなく意味が分かりますかね? 対処法は, m_InputData = buf; m_InputData += crlf; とすればいいです。 m_InputData = CString(buf) + crlf; とかも出来ますが,少しコストがかかります。

VitaminBB
質問者

お礼

回答ありがとうございます。 オーバーロードされていたのですね。 納得できました。

その他の回答 (1)

noname#5537
noname#5537
回答No.1

m_InputData の型は CString でしょうか?

VitaminBB
質問者

お礼

回答ありがとうございます。 >m_InputData の型は CString でしょうか? そうです。 よろしくお願いします。

関連するQ&A