• ベストアンサー

error C2664

現在VisualStudio C++ 6.0にてプログラムを組んでいるのですが、以下のようなエラーが出ます。 型の変換ができていないであろうことはわかるのですが、解決方法がわかりません。 どのような解決方法があるのでしょうか? よろしくお願いします。 error C2664: 'strcat' : 1 番目の引数を 'unsigned char [256]' から 'char *' に変換できません。 (新しい機能 ; ヘルプを参照) 指示された型は関連がありません; 変換には reinterpret_cast、 C スタイル キャストまたは関数スタイルのキャストが必要です。

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

  • ベストアンサー
  • noocyte
  • ベストアンサー率58% (171/291)
回答No.2

たぶんコンパイラの設定で「char 型を規定で unsigned」にしているんでしょう. まさかわざわざ unsigned char buf[256]; と書いているとも思えませんので. VC6 は持ってないので知りませんが,.NET 2003 でのやり方を書けば, 「プロジェクト」→「プロパティ」→「C/C++」 →「言語」→「char 型を規定で unsigned」→「いいえ」 VC6 でも同様の設定をすれば OK のはず.

その他の回答 (2)

  • MrBan
  • ベストアンサー率53% (331/615)
回答No.3

UCHARにしてたり、サンプルがunsignedだったりとかはありえそうですが。 ソース次第では、#2の方の方法で通ると思いますが、 それで問題がないかは、やはりソースを提示してもらわないとなんとも。

  • tatsu99
  • ベストアンサー率52% (391/751)
回答No.1

問題の箇所のソースを提示してください。 stacat((char*)aaa,bbb);ようにキャストしただけではダメですか。

関連するQ&A