ページ 11

構造体について

Posted: 2007年6月15日(金) 20:16
by DX
//フォント構造体
typedef struct _BITMAPFONT
{
//フォントを書き出しのX座標
int offsetFontX;
//フォントを書き出しのY座標
int offsetFontY;
//フォントの横幅
int bitmapFontWidth;
//フォントの縦幅
int bitmapFontHeight;
} BITMAPFONT,*PBITMAPFONT;


void InitGame()
{
//フォントの自作構造体
BITMAPFONT bitmapFont;
PBITMAPFONT pBitmapFont = &bitmapFont;

createBitmapFont(&pBitmapFont);

}

呼び出し元がこうなっていて


void createBitmapFont(PBITMAPFONT *pBitmapFont)
{
//この部分で構造体のメンバにアクセスして代入したいのですが
  //コンパイルエラーがでてしまいます
*(pBitmapFont->offsetFontX) = 0;
}

PBITMAPFONT *pBitmapFontの引数の部分はポインタのポインタだから

*pBitmapFontで構造体のポインタになって

->をつかってアクセスできると思ったんですがなにがだめなのでしょうか??

Re:構造体について

Posted: 2007年6月15日(金) 21:01
by Hermit
void
createBitmapFont (PBITMAPFONT * pBitmapFont)
{
  (*pBitmapFont)->offsetFontX = 0;
}
じゃないかな。

Re:構造体について

Posted: 2007年6月15日(金) 21:05
by バグ
代入するだけならば、ポインタでいいのではないでしょうか?
ポインタのポインタでなければいけない理由があるのならば、話は別ですが…?