Существует ли эквивалент - педантичен для gcc при использовании компилятора Visual C++ Microsoft?

Предполагая, что foo(arg) возвращает объект только со свойствами x и y:

class xy {
   x: number;
   y: number;

   constructor (arg) {
       Object.assign(this, foo(arg));
   }
}

Если foo может вернуть больше свойств, вам необходимо вручную получить свойства: [ 117]

class xy {
   x: number;
   y: number;

   constructor (arg) {
       const {x, y} = foo(arg);
       Object.assign(this, {x, y});
   }
}
9
задан Joel Coehoorn 9 December 2011 в 17:59
поделиться

5 ответов

Самый высокий уровень предупреждения на Visual C++ является Стеной/. Уровень предупреждения может также быть установлен численно с/W0,/W1.../W4 для генерации увеличивающихся уровней предупреждений.

Компилятор также проверит на проблемы мобильности на 64 бита с/Wp64.

И можно сказать этому рассматривать предупреждения как ошибки с/WX

Visual C++, кажется, не имеет реальный эквивалент - педантичный - который просит, чтобы gcc сообщил обо всех предупреждениях, требуемых сообщаться стандартами C++ и ISO C.

9
ответ дан 4 December 2019 в 12:22
поделиться

AS billmcc64 упомянул, gcc's - педантичные причины gcc, чтобы предупредить при использовании каких-либо нестандартных расширений. Я не думаю, что можно заставить MSVC предупреждать для аналогичной ситуации, но можно заставить его генерировать ошибку для этих ситуаций с помощью опции Za/.

4
ответ дан 4 December 2019 в 12:22
поделиться

Обратите внимание, что/Wp64 не рекомендуется Microsoft в противоположность компиляции непосредственно для 64-разрядной платформы, если это возможно.

Также обратите внимание, что выпуск Разработчика Команды имеет/, анализируют опцию, которая добавляет семантическую проверку общие ошибки в коде. Можно также посмотреть на получение линта ПК от gimpel для дополнительной семантической проверки.

2
ответ дан 4 December 2019 в 12:22
поделиться

если Вы хотите что-то как - педантичный, попробуйте хороший линт как линт ПК (http://www.gimpel.com/html/products.htm).

2
ответ дан 4 December 2019 в 12:22
поделиться

/W4 /Wall должен добиться цели.

0
ответ дан 4 December 2019 в 12:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: