エラーが出ます。なぜでしょうか。

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

エラーが出ます。なぜでしょうか。

#1

投稿記事 by rome » 10年前

visual c++を使っています。

43行目でエラー
error C2664: 'DxLib::DrawString' : 3 番目の引数を 'int' から 'const TCHAR *' に変換できません。(新しい機能 ; ヘルプを参照)
1> 整数型からポインター型への変換には reinterpret_cast、C スタイル キャストまたは関数スタイル キャストが必要です。

が出るのですが、なぜですか。

コード:

#include "DxLib.h"
#include "iostream"


class unitdata{
public:
//	string name;
//	string type1;
//	string type2;
	int HP;
	int strengh;
	int magic;
};
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance,
         LPSTR lpCmdLine, int nCmdShow )
{
	unitdata lavalord;
	//lavalord.name = "lava lord";
	//lavalord.type1 = "fire";
	//lavalord.type2 = "none";
	//lavalord.HP = 120;
	//lavalord.strength = 12;
    lavalord.magic = 18;
    int Cr ;

    // ウインドウモードに変更
    ChangeWindowMode( TRUE ) ;

    if( DxLib_Init() == -1 )    // DXライブラリ初期化処理
    {
         return -1;    // エラーが起きたら直ちに終了
    }

    // 白色の値を取得
    Cr = GetColor( 255 , 255 , 255 ) ;

    // 文字列の描画
    //DrawString( 250 , 240 - 16 , lavalord.name , Cr );
	//DrawString( 250 , 240 - 40 , lavalord.type1 , Cr );
	//DrawString( 250 , 240 - 60 , lavalord.type2 , Cr );
	//DrawString( 250 , 240 - 80 , lavalord.HP , Cr );
	//DrawString( 250 , 240 - 100 , lavalord.strength , Cr );
	DrawString( 250 , 240 - 120, lavalord.magic , Cr );

    WaitKey() ;        // キーの入力待ち(『WaitKey』を使用)

    DxLib_End() ;        // DXライブラリ使用の終了処理

    return 0 ;        // ソフトの終了
}

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前
住所: 東海地方
連絡を取る:

Re: エラーが出ます。なぜでしょうか。

#2

投稿記事 by softya(ソフト屋) » 10年前

DrawStringは三番目の引数が文字列です。
http://homepage2.nifty.com/natupaji/DxL ... raph2.html
今の場合数値が引数として指定されているのでエラーに成っています。

【補足】
やりたい事次第ですが、DrawFormatStringを使うべきかと思います。
DrawFormatStringの書式はprintfとほぼ同じです。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

rome

Re: エラーが出ます。なぜでしょうか。

#3

投稿記事 by rome » 10年前

返信ありがとうございます。

DrawFormatStringを使ってみようかと思います。

閉鎖

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