Есть ли переключатель, который я могу поставить на cl.exe
, который включит предупреждение или ошибку, если typename
отсутствует в квалифицированном зависимом типе?
Я работаю в среде, где разработчики, как правило, работают на одной платформе, будь то Windows или Linux, и код в конечном итоге создается на обеих платформах каждую ночь. Мы столкнулись с проблемой, когда люди забыли использовать typename
для квалифицированных зависимых типов в Windows, где Visual C ++ 2008 автоматически вставит пропущенный typename
, если это возможно. Когда они регистрируют код, подобный этому, это нарушает сборку в Linux, где g++
требует typename
. Было бы желательно настроить Makefile
таким образом, чтобы можно было ожидать, что такое же поведение typename
в Windows и Linux уменьшит вероятность поломки сборки. Я предпочитаю поведение g++
, но все, что могло бы помочь двум платформам вести себя одинаково, было бы очень ценно.
См. Также Почему мне нужно использовать typedef typename в g ++, а не VS?