none
===== 一个关于模板的问题 ===== RRS feed

  • 问题

  • template <class T>
    class Test
    {
    	typedef std::vector<T>::iterator s;
    };
    
    
    int main(void)
    {
    	Test<int> i;
    }
    
    如上述代码,现在问题是,编译器总会给我这样一个错误:
    warning C4346: 'std::vector<T>::iterator' : dependent name is not a type
    1>          prefix with 'typename' to indicate a type
    1>          see reference to class template instantiation 'Test<T>' being compiled
    1>error C2146: syntax error : missing ';' before identifier 's'
    1>error C4430: missing type specifier - int assumed. Note: C++ does not support default-int

    ==========

    希望各位能给我一个答案,以及解决方案,谢谢了先
    2010年11月28日 3:46

答案

全部回复