2010-12-06 2 views
0

Рассмотрим У меня есть следующий прототип функции:Синтаксис функции прототипирования в файлы заголовков

void MyFunction(int MyParameter);

следующее определение:

void MyFunction(int MyParameter) 
{ 
    // Do stuff here. 
} 

Где они должны каждый ставить, если у меня есть заголовок файл (нет main) с пространством имен? Происходит ли прототип в пространстве имен и определении вне его? Или они оба входят?

ответ

1

Если вы хотите иметь пространство имен, как должно быть внутри:

.h:

namespace MyNameSpace { 
void MyFunction(int MyParameter); 
} 

.cpp:

void MyNameSpace::MyFunction(int MyParameter) 
{ 
    // Do stuff here. 
} 
+0

На несвязанной Замечание, почему второй файл должен быть .cpp? – Maxpm 2010-12-06 15:50:31

0

Они оба должны быть в пространстве имен

1

Если прототип не в пространстве имен, то вы не должны поместить определение в пространстве имен. Если прототип находится в пространстве имен, определение должно быть в том же пространстве имен.

Смежные вопросы