Я работаю над приложением для Магазина Windows и только что поднял уровень предупреждений Visual Studio до 4, поэтому исправил предупреждения о параметрах без ссылок. В процессе я заметил, что управляемые инфраструктурой параметры без ссылок (^) не генерируют предупреждение C4100, как другие «формальные» параметры без ссылок. Чтобы проиллюстрировать, что я имею в виду:
void Method(CNonFrameworkManaged* pObject)
{
// Warning C4100: 'pObject' : unreferenced formal parameter
}
void Method(CFrameworkManaged^ spObject)
{
// No warning
}
Почему второй не генерирует предупреждение? И есть ли способ включить такие предупреждения? Я хочу, чтобы мой код выглядел согласованным, но отслеживание всего этого вручную займет несколько дней.
Примечание. Я компилирую свой проект без поддержки CLR, но похоже, что их все равно можно обнаружить.