tags:

views:

199

answers:

1

What is the effect of QT_BEGIN_NAMESPACE?

QT_BEGIN_NAMESPACE
class QLineEdit;
QT_END_NAMESPACE

If I dont use the class declaration like that, is there any problem occure?

+4  A: 

QT_BEGIN_NAMESPACE and QT_END_NAMESPACE are preprocessor macros and they are defined as:

#define QT_BEGIN_NAMESPACE namespace QT_NAMESPACE {
#define QT_END_NAMESPACE }

But: those two macros only have any effect when Qt was configured and built using the -qtnamespace option, which allows you to build Qt inside a user-defined namespace.

So: if you don't use (or plan on using) a Qt library which was built this way (per default, the Qt library resides in the global namespace), omitting the QT_BEGIN_NAMESPACE and QT_END_NAMESPACE won't lead to any problems.

Greg S