次のコードがあります。
if (myFile.is_open()) {
int i = 0;
while (myFile.good()) {
char *ptr = &(reinterpret_cast<char*>(&mem[0]))[i];
myFile.read(ptr, sizeof(struct req));
cout << ptr << endl;
i += sizeof(struct req);
}
}
ここでのループの cout は何も出力しないように見えますが、代わりに何かを実行すると正しい値が出力されるため、コードが確実にメモリを設定していることはわかっていますcout << mem[5]
。基本的に、参照しているものの内容を印刷したいだけですptr
。これはおそらくばかげた質問ですが、ここで何が問題なのか知っている人はいますか?