Я использую PC-Lint (отличный инструмент для статического анализа кода - см. http://www.gimpel.com/)
Для следующего фрагмента кода:
class ASD {
protected:
template<int N>
void foo();
};
template<>
inline void ASD::foo<1>() {}
template<int N>
inline void ASD::foo() {}
PC-lint дает мне предупреждение:
inline void ASD::foo<1>() {}
mysqldatabaseupdate.h(7) : Error 1060: protected member 'ASD::foo(void)' is not accessible to non-member non-friend functions
Я считаю, что код в порядке, и ошибка связана с недостатком, но я думаю, что инструмент Lint - ДЕЙСТВИТЕЛЬНО отличный инструмент, и он более вероятен, чем я чего-то не знаю. Так этот код в порядке?