• Advertisement
Sign in to follow this  

C++ Nested Class (Solved)

This topic is 3627 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Given the following code:
 
template <class T> 
class A { 
 private: 
 
  class B {
  public: 
    int foo; 
    void bar();
  }; 
 
  B barbar(); 
 
}; 
 
template <class T> 
A<T>::B A<T>::barbar() {
  B  b;
  return b; 
} 
 
 
int main() { 
 
} 
 

I get the compile error: rac3:~/420/420project_part1: g++ test.c test.c:17: error: expected constructor, destructor, or type conversion before 'A' Does anyone have any idea why? As far as I know, this is the proper syntax for declaring a method for a template class. Thanks, Calvin

Share this post


Link to post
Share on other sites
Advertisement
Try:
template <class T> 
typename A<T>::B A<T>::barbar() {
typename A<T>::B b;
return b;
}

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement