C6334
Предупреждение C6334: оператор sizeof применяется к выражению с оператором. Это может вызвать непредвиденные результаты.
Это предупреждение означает неправильное использование оператора sizeof. Оператор sizeof при применении к выражению выдает размер типа результирующего выражения.
Рассмотрим следующий пример кода.
char a[10];
size_t x;
x = sizeof (a - 1);
x будет присвоено значение 4, а не 9, поскольку результирующее выражение является не указателем на массив a, а просто указателем.
Пример
Это предупреждение создается следующим кодом:
void f( )
{
size_t x;
char a[10];
x= sizeof (a - 4);
// code...
}
Для устранения этого предупреждения используйте следующий код:
void f( )
{
size_t x;
char a[10];
x= sizeof (a) - 4;
// code...
}