1>f:\2011第二学期\c编程语言\sdl\fontm\fontm\fontm.cpp(34) : error C2664: 'TTF_RenderUNICODE_Solid' : cannot convert parameter 2 from 'const wchar_t [3]' to 'const Uint16 *'
1> Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
为什么会有这样的提示?
传错参数(类型不一致),具体得看代码。
extern SDL_Surface *gpChinese;
gpChinese = TTF_RenderUNICODE_Solid( font, L"圣旨", RGB_Yellow);
就是这的代码出错了
applySurface(260,50,gpChinese,gpScreen);
void applySurface( int x, int y, SDL_Surface* source, SDL_Surface* destination )
{
SDL_Rect dst;//目标表面的位置
dst.x = x;
dst.y = y;
//将源表面传输到目标表面上
SDL_BlitSurface( source, NULL, destination, &dst );
}
或者是这里
@半分微醉:
Uint16 a='圣旨';
gpChinese = TTF_RenderUNICODE_Solid( font, &a, RGB_Yellow);
试下这个。
@向往-SONG:
f:\2011第二学期\c编程语言\sdl\fontm\fontm\fontm.cpp(22) : warning C4305: 'initializing' : truncation from 'int' to 'Uint16'
1>f:\2011第二学期\c编程语言\sdl\fontm\fontm\fontm.cpp(22) : warning C4309: 'initializing' : truncation of constant value
1>Linking...
1>fontM.obj : error LNK2001: unresolved external symbol "struct SDL_Surface * gpChinese" (?gpChinese@@3PAUSDL_Surface@@A)
出现了新的错误
@半分微醉: 我知道问题所在了,但分不能给你