掲示板始めて使用させていただきます。プログラムも初心者程度です。
簡単なキャラ選択画面を作りたいのですが,
CharaGraph[].GHandle はキャラのグラフィックハンドル
CharaMaster.GetImage() はCharaMaster.cppにある キャラ画像名を取得する関数
//キャラクタステータス構造体
typedef struct {
char Name[256]; //名前
char Image[256]; //画像名
}status;
status HM[MAX];
char CCharaMaster::GetImage( int Num ){
return HM[Num].Image[256];
}
↑のコードで実行すると
「 1 番目の引数を 'char' から 'const TCHAR *' に変換できません。」というようなエラーが出てしまいます。
どうにかできないでしょうか。お願いします。
LoadGraphについて
Re: LoadGraphについて
LoadGraphの引数には文字列を渡さないといけませんが、
CCharaMaster::GetImageの戻り値はcharになっています。
CCharaMaster::GetImageの戻り値はcharになっています。
Boogaloo is funk feelin'.
Re: LoadGraphについて
char *CCharaMaster::GetImage( int Num ){
return HM[Num].Image;
}
としてみてください
return HM[Num].Image;
}
としてみてください
Re: LoadGraphについて
>char *CCharaMaster::GetImage( int Num ){
return HM[Num].Image;
}
で実行させていただいたのですが、
CharaGraph.GHandle = LoadGraph( CharaMaster.GetImage( i ) );
'char' から 'const TCHAR *' に変換できません。
char *CCharaMaster::GetImage( int Num ){
return HM[Num].Image;
}
オーバーロード関数は、'char CCharaMaster::GetImage(int)' と戻り値の型のみが異なります。
'char *(int)' は 'char (int)' と間接操作のレベルが異なります。
といったエラーが出てしまいす。
return HM[Num].Image;
}
で実行させていただいたのですが、
CharaGraph.GHandle = LoadGraph( CharaMaster.GetImage( i ) );
'char' から 'const TCHAR *' に変換できません。
char *CCharaMaster::GetImage( int Num ){
return HM[Num].Image;
}
オーバーロード関数は、'char CCharaMaster::GetImage(int)' と戻り値の型のみが異なります。
'char *(int)' は 'char (int)' と間接操作のレベルが異なります。
といったエラーが出てしまいす。
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 13年前
- 住所: 東海地方
- 連絡を取る:
Re: LoadGraphについて
DXライブライの設定でマルチバイト文字を使うように設定するのが指示されているはずですが対応されていますでしょうか?
「DXライブラリ置き場 使い方説明」
http://homepage2.nifty.com/natupaji/DxLib/dxuse.html
「DXライブラリ置き場 使い方説明」
http://homepage2.nifty.com/natupaji/DxLib/dxuse.html
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。
Re: LoadGraphについて
>宣言の方も変えましたか?
全ソース中の GetImage は一か所だけではないと思います
宣言にも変更は加えましたがさきの通りです。
>DXライブライの設定でマルチバイト文字を使うように設定するのが指示されているはずですが対応されていますでしょうか?
マルチバイト文字セットを使用するようにはなっていたようです。
全ソース中の GetImage は一か所だけではないと思います
宣言にも変更は加えましたがさきの通りです。
>DXライブライの設定でマルチバイト文字を使うように設定するのが指示されているはずですが対応されていますでしょうか?
マルチバイト文字セットを使用するようにはなっていたようです。
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 13年前
- 住所: 東海地方
- 連絡を取る:
Re: LoadGraphについて
> 'char' から 'const TCHAR *' に変換できません。
失礼しました。
char型からchar*型に変換できなというエラーですので
CharaMaster.GetImage( i )
でchar型で戻り値が設定されているんだと思います。
なので
>char *CCharaMaster::GetImage
に成っていない所があると思われます。
失礼しました。
char型からchar*型に変換できなというエラーですので
CharaMaster.GetImage( i )
でchar型で戻り値が設定されているんだと思います。
なので
>char *CCharaMaster::GetImage
に成っていない所があると思われます。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。