Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 76247
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 10, 20262026-05-10T20:38:37+00:00 2026-05-10T20:38:37+00:00

I am trying to declare and use a class B inside of a class

  • 0

I am trying to declare and use a class B inside of a class A and define B outside A.
I know for a fact that this is possible because Bjarne Stroustrup
uses this in his book ‘The C++ programming language’
(page 293,for example the String and Srep classes).

So this is my minimal piece of code that causes problems

class A{ struct B; // forward declaration B* c; A() { c->i; } };  struct A::B {  /*   * we define struct B like this becuase it  * was first declared in the namespace A  */ int i; };  int main() { } 

This code gives the following compilation errors in g++ :

tst.cpp: In constructor ‘A::A()’: tst.cpp:5: error: invalid use of undefined type ‘struct A::B’ tst.cpp:3: error: forward declaration of ‘struct A::B’ 

I tried to look at the C++ Faq and the closeset I got was here and here but
those don’t apply to my situation.
I also read this from here but it’s not solving my problem.

Both gcc and MSVC 2005 give compiler errors on this

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. 2026-05-10T20:38:37+00:00Added an answer on May 10, 2026 at 8:38 pm

    Define the constructor for A AFTER the definition of struct B.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I'm trying to use inheritance among classes defined inside a class template (inner classes).
I'm trying to use namespaces. I want to extend a class inside a different
I am trying to use the myType class declared in the package com.mycompany.myproject in
I'm trying to declare a method in main.h like this: void buildGraph(int gNum, Graph**
I am trying to declare the border of a div using hsl() like this:
I was trying to declare a callback function in class and then somewhere i
I'm trying to declare a global variable from within a class like so: class
Normally, I've seen prototype functions declared outside the class definition, like this: function Container(param)
I have a couple UIViewControllers that I am trying to access an array inside
Outside of a for I declare a variable using var list; . I use

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.