Skip to main content
GameDev.net gamedev.net
🔒 Locked

mutual type refs

Started by xropi Nov 4, 2002 at 5:45 AM 3 replies 250+ views
Original Post
xropi
xropi
In the following situation there are mutual references. The compiler tells me: error C2027: use of undefined type 'CTest'
          
class	CTest;

class CSmall {
	CTest::TT	m_x:         // error reported here

};


class CTest {
	typedef int TT;       // or any other type

	vector<CSmall>		m_xx;
};
          
If TT was in global scope, my problem would be solved. But what if this condition can't be realized? How would you handle that? [edited by - xropi on November 4, 2002 6:48:28 AM]
I'm interested in full featured 3D system development.
Pepe
Pepe

    
#include <vector>

using namespace std;

class CSmall;


class CTest {
public:
typedef int TT; // or any other type

private:
vector<CSmall> m_xx;
};

class CSmall {
CTest::TT m_x;
};


[edited by - Pepe on November 4, 2002 7:00:31 AM]
Evil Bill
Evil Bill
That won''t work. You need the structure implementation to create a vector of it (ISTR).

The only way i can see is to make m_xx a vector or CSmall*s.

HTH, Steve

Steve
DirectX Programmer
Soon to be the new Bill Gates
Member of the Unban Mindwipe Society (UMWS)
Qw3r7yU10p!
Qw3r7yU10p!
so you want a class to be parameterised with another class... looks like time for templates
Pepe
Pepe
Evil Bill, what dou you want to mean with?
quote:

That won''t work.


I''ve compiled it.

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.