What is an unqualified-id ?

D

DevNull

Hello,
I've searched and searched and cannot seem to figure it out so I was
hoping someone could explain to me exactly what an unqualified-id is?

My compiler is generating this error...
ThreadLibMutex.h:37: error: expected unqualified-id before ')'
token

My line 37 is the top of this constructor...

Mutex(){
#ifdef WIN32
// we use critical sections in Windows
InitializeCriticalSection( &m_mutex );
#else
pthread_mutex_init( &m_mutex, 0 );
#endif
}

The class itself is defined immediately above and consists of....

class Mutex {
protected:
// define the base mutex types
#ifdef WIN32
CRITICAL_SECTION m_mutex;
#else
pthread_mutex_t m_mutex;
#endif
public:
inline void Lock() {
#ifdef WIN32
EnterCriticalSection( &m_mutex );
#else
pthread_mutex_lock( &m_mutex );
#endif
}

inline void Unlock() {
#ifdef WIN32
LeaveCriticalSection( &m_mutex );
#else
pthread_mutex_unlock( &m_mutex );
#endif
}
}; // end class Mutex

I've just never heard of an unqualified-id so I have no idea whats
wrong, but the code is looking perfectly legal to me.
Any advice appreciated, and again, thanks in advance!
Regards,
 
R

Ron Natalie

DevNull said:
Hello,
I've searched and searched and cannot seem to figure it out so I was
hoping someone could explain to me exactly what an unqualified-id is?

My compiler is generating this error...
ThreadLibMutex.h:37: error: expected unqualified-id before ')'
token

My line 37 is the top of this constructor...

Mutex(){]

I wouldn't be surprised if some Microsoft include file #define's
Mutex to be something.
 
A

Alf P. Steinbach

* DevNull:
Hello,
I've searched and searched and cannot seem to figure it out so I was
hoping someone could explain to me exactly what an unqualified-id is?

My compiler is generating this error...
ThreadLibMutex.h:37: error: expected unqualified-id before ')'
token

My line 37 is the top of this constructor...

Mutex(){
#ifdef WIN32
// we use critical sections in Windows
InitializeCriticalSection( &m_mutex );
#else
pthread_mutex_init( &m_mutex, 0 );
#endif
}

What Ron Natalie said (look out! Microsoft macros everywhere! or, as Dan
Quayle would have said, Microsoft macroes everywhere!), plus, try using
the qualified id

Mutex::Mutex()

;-)
 
D

DevNull

What Ron Natalie said (look out! Microsoft macros everywhere! or, as Dan
Quayle would have said, Microsoft macroes everywhere!), plus, try using
the qualified id

Mutex::Mutex()

;-)
</snip>

Nope that made things worse...
ThreadLibMutex.h:35: error: definition of implicitly-declared
'Mutex::Mutex()'
ThreadLibMutex.h:35: error: declaration of 'Mutex::Mutex()' throws
different exceptions
ThreadLibMutex.h:9: error: than previous declaration 'Mutex::Mutex()
throw ()'

Line 9 being where the Mutex class is located. Oh and ya can't blame
this one on MS, I'm compiling this code with GCC v4.0.3 it's just
supposed to be a simple little crossplatform wrapper :( If anyone is
interested I can post the complete source. It's only 49 lines of code
in total.
 
R

Ron Natalie

DevNull said:

Try sticking #undef Mutex
right before the affected line.

A unqualified id is one without :: in it.

Nothing inside a class definition should have a qualification.
 
M

Michael

Nope that made things worse...
ThreadLibMutex.h:35: error: definition of implicitly-declared
'Mutex::Mutex()'
ThreadLibMutex.h:35: error: declaration of 'Mutex::Mutex()' throws
different exceptions
ThreadLibMutex.h:9: error: than previous declaration 'Mutex::Mutex()
throw ()'

Listen to your compiler, not the MS bashers.

Declare the constructor in your class definition. . .

Michael
 
A

Alf P. Steinbach

* DevNull:
</snip>

Nope that made things worse...
ThreadLibMutex.h:35: error: definition of implicitly-declared
'Mutex::Mutex()'

You also need to /declare/ the constructor in the class definition.

Hth.,

- Alf
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,962
Messages
2,570,134
Members
46,692
Latest member
JenniferTi

Latest Threads

Top