[問題] 比較 sizeof(POD) 與 int
( *[1m *[m 為色碼,可以按 Ctrl+V 預覽會顯示的顏色 )
( 未必需要依照此格式,文章條理清楚即可 )
遇到的問題: (題意請描述清楚)
struct POD
{
char byte;
int i;
};
int cnt(0);
// ... modify cnt
if(cnt < sizeof(POD) ){ // 問題: cnt = -1 的狀況下此條件式不成立
cerr<<"Error!"<<endl;
}
開發平台: (例: VC++ or gcc/g++ or Dev-C++, Windows or Linux)
Target: i386-undermydesk-freebsd
Configured with: FreeBSD/i386 system compiler
Thread model: posix
gcc version 4.2.1 20070719 [FreeBSD]
補充說明:
後來加上強制轉型,如下
if(cnt < (int)sizeof(POD) )
可以達到我的要求,但在傳入型別的狀況下 sizeof 不是應該在編譯期就決定了嗎
用 gdb 執行 "p cnt < sizeof(POD)" 結果也是 true
有沒有人遇過這樣的狀況?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.47.73.218
※ 編輯: adxis 來自: 114.47.73.218 (05/20 05:27)
※ 編輯: adxis 來自: 114.47.73.218 (05/20 05:29)
→
05/20 09:29, , 1F
05/20 09:29, 1F
推
05/20 11:25, , 2F
05/20 11:25, 2F
→
05/20 11:26, , 3F
05/20 11:26, 3F
→
05/20 11:36, , 4F
05/20 11:36, 4F
→
05/20 11:36, , 5F
05/20 11:36, 5F
→
05/20 11:39, , 6F
05/20 11:39, 6F
推
05/20 11:41, , 7F
05/20 11:41, 7F
推
05/20 11:56, , 8F
05/20 11:56, 8F
推
05/23 07:13, , 9F
05/23 07:13, 9F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章