こん○○わ。件名の件で質問です。GlobalAlloc()で確保した領域を、
確保した領域外でGlobalFree()をしても良いものでしょうか?
*********************************************
void Func_A()
{
char *lpBuf=NULL;
Func_B(&lpBuf);
GlobalFree(lpBuf);
}
void Func_B(char **Buf)
{
if(Buf==NULL){
*Buf=(char *)GlobalAlloc(GPTR, 100);
}
}
*********************************************
こんな感じです。エラーなく動作するようですが、
こう言った書き方ってしてもいいんでしょうか?
アドレスだから大丈夫だとは思うんですけどね。
稚拙な質問で申し訳ないですが宜しくお願いします。
領域外という意味があいまいですが、
別の関数という意味でしたら、全く問題ないどころか、ごく普通の使い方です。
本題とあんまり関係ないけど
> if(Buf==NULL){
> *Buf=(char *)GlobalAlloc(GPTR, 100);
> }
条件式大丈夫ですか?
ツイート | ![]() |