Почему я не могу использовать sizeof () для простых структур?
например:
private struct FloatShortPair
{
public float myFloat;
public short myShort;
};
int size = sizeof(FloatShortPair); //CS0233
error CS0233:' FloatShortPair 'не имеет предопределенного размера, поэтому sizeof может может использоваться только в небезопасном контексте (рассмотрите возможность использования System.Runtime.InteropServices.Marshal.SizeOf)
MSDN заявляет:
Оператор sizeof может использоваться только для типов, которые являются типами времени компиляции {{1} } константы. Если вы получаете эту ошибку, убедитесь, что размер идентификатора может быть определен во время компиляции. Если это невозможно, то используйте SizeOf вместо sizeof.
Как float и short не являются константами времени компиляции? 8 - /