質問なのですが

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
rion

質問なのですが

#1

投稿記事 by rion » 17年前

「猫でもわかるゲームプログラミング」という本を読んで勉強しているものですが、サンプルプログラムを書いてできるかどうか試してみたところ、以下のようなエラーが出ました。 

*****\win01.cpp(58) : error C2440: '=' : 'LPCSTR' から 'LPCWSTR' に変換できません。
指示された型は関連がありません。変換には reinterpret_cast、C スタイル キャストまたは関数スタイルのキャストが必要です。
*****\win01.cpp(85) : error C2664: 'CreateWindowExW' : 2 番目の引数を 'char [6]' から 'LPCWSTR' に変換できません。(新しい機能 ; ヘルプを参照)
1> 指示された型は関連がありません。変換には reinterpret_cast、C スタイル キャストまたは関数スタイルのキャストが必要です。

記述が間違ったのかと思い、サンプルをそのままコピーしてビルドしてみましたが、やはり同様なエラーが発生しました。どのようにすれば解決できるのでしょうか?
ソースを添付しましたので、ぜひご覧になって、ご返答お願いします。
(osはwindowsxp、環境はvc+2005です。)

Mist

Re:質問なのですが

#2

投稿記事 by Mist » 17年前

VS2005から型チェックが非常に厳しくなったことが原因です。
wc.lpszClassName = (LPCTSTR)szClassName;
というようにキャストすればよいだけです。

猫さんのVS2005サンプルページです。
http://www.kumei.ne.jp/c_lang/net2005/sample.htm

御津凪

Re:質問なのですが

#3

投稿記事 by 御津凪 » 17年前

もしかしたらソースコードは ANSI 用で、プロジェクトは UNICODE 用でビルドしているせいなのでは?

プロジェクトのプロパティで、
UNICODE 文字の使用をオフにすればいいと思いますよ。

rion

Re:質問なのですが

#4

投稿記事 by rion » 17年前

上記のどちらの方法でも試してみたところ、両方ともで解決することができました。
ご返答たいへんありがとうございました。

閉鎖

“C言語何でも質問掲示板” へ戻る