【初心者歓迎】C/C++室 Ver.13【環境依存OK】
■ このスレッドは過去ログ倉庫に格納されています
0269デフォルトの名無しさん
05/01/20 00:38:56CTest2はCTestより後で定義されてるからCTestはCTest2のサイズを知らない。
そういう場合はポインタ使え。よくある相互参照の解法だ。
ポインタそのものは環境依存だがサイズは固定値。
指してる先の構造体(この場合のCTest2)のサイズがまだ分からない時にも使える。
逆に、CTestはCTest2より前に定義されてるから
CTest2はCTestのサイズを知っている。よってポインタにする必要無し。
したがってこの1箇所の修正でコンパイル通るんじゃないかな?
class CTest
{
void Init( CTest2 *test ) {}
};
他のコードは一緒。
VC++7.1(のcl.exe)とcygwin g++3.2の両方でコンパイル通ったよ。
■ このスレッドは過去ログ倉庫に格納されています