コンパイラの警告 (レベル 3) C4267
'var': 'size_t' から 'type' への変換です。データが失われる可能性があります。
コンパイラが size_t
からサイズの小さな型への変換を検出しました。
この警告を解決するには、type
の代わりに size_t
を使用してください。 または、サイズが size_t
以上の整数型を使用してください。
例
次の例では、C4267 エラーが生成されます。
// C4267.cpp
// compile by using: cl /W4 C4267.cpp
void Func1(short) {}
void Func2(int) {}
void Func3(long) {}
void Func4(size_t) {}
int main() {
size_t bufferSize = 10;
Func1(bufferSize); // C4267 for all platforms
Func2(bufferSize); // C4267 only for 64-bit platforms
Func3(bufferSize); // C4267 only for 64-bit platforms
Func4(bufferSize); // OK for all platforms
}