sizeof 演算子の戻り値の型は何ですか? cppreference.com & msdn は sizeof が size_t を返すと言います。本当に size_t を返しますか? 私は VS2010 Professional を使用しており、x64 をターゲットにしています。
int main()
{
int size = sizeof(int); // No warning
int length = strlen("Expo"); //warning C4267: 'initializing' : conversion from 'size_t' to 'int', possible loss of data
return 0;
}
この質問があるのは、最初の行では警告が発行されていないのに対し、2 行目では警告が発行されているためです。char サイズに変更しても、警告は表示されません。