Derleyici Uyarısı (düzey 3) C4267
'var' : 'size_t'den 'tür'e dönüştürme, olası veri kaybı
Derleyici, 'den size_t
daha küçük bir türe dönüştürme algılamıştı.
Bu uyarıyı düzeltmek için yerine type
kullanınsize_t
. Alternatif olarak, en az kadar size_t
büyük bir tamser türü kullanın.
Örnek
Aşağıdaki örnek C4267 oluşturur.
// 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
}