Ошибка шаблона обхода и / или статический путь утверждения в Visual C ++ - PullRequest
2 голосов
/ 30 января 2012

В Visual C ++, когда запускается статическое утверждение или возникает ошибка шаблона, двойное нажатие на саму ошибку приведет вас к реальному коду шаблона, а не к действительному ошибочному коду, который пытаетсяназовите это или создайте экземпляр.

Чтобы увидеть код, который его создал, вы должны перейти к output window и по существу trace ошибке, дважды щелкнув по строкам, содержащим исходный файл с формулировками see reference to XXXXXX being compiled with.Это все замечательно, но когда шаблоны сложны, очень сложно найти исходные файлы во всем беспорядке и дважды щелкнуть по ним мышью.Например (я изменил имена, чтобы сама ошибка не имела смысла, но обычно это то, что вы получаете):

1>templateClass.h(390) : error C2079: 'STATIC_ASSERT'
1>        with
1>        [
1>            __formal=0
1>        ]
1>        filename.h(390) : while compiling class template member function 'TestClass<T>::TestClass(void)'
1>        with
1>        [
1>            T=s32
1>        ]
1>        anotherFilename.cpp(131) : see reference to class template instantiation 'TestClass<T>' being compiled
1>        with
1>        [
1>            T=s32
1>        ]
1>        yetAnotherFileName.cpp(149) : see reference to function template instantiation 'void Test_TestClass<T>(void)' being compiled
1>        with
1>        [
1>            T=some_policy_class
1>        ]

Поэтому мой вопрос таков: Есть ли ярлык для перемещениястек ошибок (это правильная терминология?) для одной ошибки?Ярлык, похожий на CTRL + SHIFT + F12, который показать следующую ошибку .Было бы здорово, если бы был ярлык для просмотреть следующий файл с ошибкой .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...