C++语法问题

Dou*_*oug 1 c++ syntax

现在已经很晚了,我无法弄清楚我的语法有什么问题.我问其他人他们找不到语法错误,所以我是根据朋友的建议来到这里的.

template <typename TT>
bool PuzzleSolver<TT>::solve ( const Clock &pz ) {

  possibConfigs_.push( pz.getInitial() );
  vector< Configuration<TT> > next_;

  //error is on next line
  map< Configuration<TT> ,Configuration<TT> >::iterator found;

  while ( !possibConfigs_.empty() && possibConfigs_.front() != pz.getGoal() ) {
    Configuration<TT> cfg = possibConfigs_.front();
    possibConfigs_.pop();
    next_ = pz.getNext( cfg );

    for ( int i = 0; i < next_.size(); i++ ) {
      found = seenConfigs_.find( next_[i] );
      if ( found != seenConfigs_.end() ) {
        possibConfigs_.push( next_[i] );
        seenConfigs_.insert( make_pair( next_[i], cfg ) );
      }
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

怎么了?

谢谢你的帮助.

Mar*_*ote 11

如果我没记错的话,这个语法含糊不清:

map< Configuration<TT> ,Configuration<TT> >::iterator found;
Run Code Online (Sandbox Code Playgroud)

试试这个:

typename map< Configuration<TT> ,Configuration<TT> >::iterator found;
Run Code Online (Sandbox Code Playgroud)

  • http://pages.cs.wisc.edu/~driscoll/typename.html请参阅此内容以获取更多信息 (2认同)