Nie widzi enuma [C++]

0

Witam,
Przy Sound::ID i case SoundtestWaveBak kompilator wywala mi 'use of undefined type Sound. WIe ktoś jak sobie zaradzić z takim dziadajstwem że nie widzi mi tego enuma. Najprościej przenieść całą definicję (ciało) klasy Sound powyżej struktury, ale ja chcę aby wpierw była zadeklarowana struktura a potem klasa. Danie prototypu klasy na początku nie rozwiązuje problemu.

class Sound;

tutaj definicja jakiejś struktury i w niej metoda:
 static void init(Sound::ID id) //mogę to zmenić na unsigned id i ominąć problem
 {
       switch(id)
	{
		   case Sound::testWaveBank:
                              ....

....

//definicja klasy
class Sound
{
	public:
		typedef enum
	    {
		   testSampleMem,
		   nullMemoryWave,

		   testSampleStream,
		   nullStreamingWave,

		   testSimpleWave,
		   nullSimpleWave,

		   testWaveBank,
		   nullWaveBank,

		   testSoundBank,
		   nullSoundBank,
	    } ID;

 .....
0

Sound::ID w tym momencie jeszcze nie istnieje. Forward declaration pozwala na użycie referencji albo wskaźnika do niego, nic więcej.

1 użytkowników online, w tym zalogowanych: 0, gości: 1