- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ポインターにポインターを加えようとしました。のエラーについて)
ポインターにポインターを加えようとしました。のエラーについて
このQ&Aのポイント
- ポインターにポインターを加えようとしました。とエラーが出ます。
- m_InputData=m_InputData+buf+crlf;では問題無いのに、m_InputData=buf+crlf;にするとポインターにポインターを加えようとしました。とエラーが出ます。
- 対処方法はどうすれば良いのでしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
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; とかも出来ますが,少しコストがかかります。
その他の回答 (1)
noname#5537
回答No.1
m_InputData の型は CString でしょうか?
質問者
お礼
回答ありがとうございます。 >m_InputData の型は CString でしょうか? そうです。 よろしくお願いします。
お礼
回答ありがとうございます。 オーバーロードされていたのですね。 納得できました。