Я нашел здесь похожий вопрос:
Как подавить ошибки сценария при использовании элемента управления WPF WebBrowser?
Но ни одно из этих решений не работает для мне. Мне нужно остановить появление всплывающих окон, поскольку я использую WebBrowser для автоматизации задач администратора на веб-сайте. g ++
завершается с ошибкой:
partial_specialization.cpp:30: error: invalid use of incomplete type ‘class Thing’
partial_specialization.cpp:8: error: declaration of ‘class Thing’
Компилятор clang ++
немного более подробен, но имеет ту же проблему:
partial_specialization.cpp:30:19: error: nested name specifier 'Thing::' for declaration does not
refer into a class, class template or class template partial specialization
int Thing::doSomething()
~~~~~~~~~~~~~~^
partial_specialization.cpp:32:12: error: use of undeclared identifier 'b_'
return b_+1;
^
2 errors generated.
Я прочитал и понял, что частичная специализация шаблонов на функциях не разрешены - но я думал, что частично специализируюсь на классах Thing
в этом случае.
Есть идеи?
Что я сделал: Обходной путь, как определено по ссылке предоставленный принятым ответом:
template< class T >
inline T foo( T const & v ) { return v; }
template<>
inline int foo( int const & v ) { return v+1; }
//
// The generic case works as expected.
//
template
B Thing::doSomething()
{
return foo(b_);
}