Cxx panda threading

ok, so I’ve been trying to do some threading using panda threads and this is whwre I got to:

sfx.c: In constructor ‘AudioThread::AudioThread(char*, OggVorbis_File*)’:
sfx.c:37: error: no matching function for call to ‘Thread::Thread()’
/opt/panda3d/include/thread.I:21: note: candidates are: Thread::Thread(const Thread&)
/opt/panda3d/include/thread.h:52: note:                 Thread::Thread(const std::string&, const std::string&)
make: *** [all] Error 1

the AudioThread class is like this:

class AudioThread: public Thread
{
    char *path;
    OggVorbis_File *vf;
    
    public:
        AudioThread(char *file_path, OggVorbis_File *vorbisf);
        void PlayAudio(void);
};

and I’ve this coded:

void Thread::thread_main()
{
	char *path;
	OggVorbis_File *vf;
	int ov_return;
	
	ov_return = ov_fopen(path, vf);
	
	/* first check for error opening the file */
	switch(ov_return)
	{
		case OV_EREAD:
			raise_error("Media error\n");
			break;
		case OV_ENOTVORBIS:
			raise_error("Not a vorbis file\n");
			break;
		case OV_EVERSION:
			raise_error("version mismatch\n");
			break;
		case OV_EBADHEADER:
			raise_error("malformed header\n");
			break;
		case OV_EFAULT:
			raise_error("internal error\n");
			break;
		case 0:
			/* success */
			//play_vorbis(vf);
			break;
	}
}


AudioThread::AudioThread(char *file_path, OggVorbis_File *vorbisf)
{
	path = file_path;
	vf = vorbisf;
}

I think I’ve forgotten something in AudioThread constructor, but don’t know what.

Yeah, you’ve forgotten something in your constructor. Try:

AudioThread::AudioThread(char *file_path, OggVorbis_File *vorbisf)
 : Thread("unique thread name", "sync name")
{