構文

2010-12-06 11 views
0

は、私は次の関数のプロトタイプを持って考えてみましょうファイル(main関数)は名前空間にありますか?プロトタイプは名前空間とその外側の定義に入りますか?それとも両方とも入っていますか?構文

答えて

1

名前空間を持っていることを選択した場合、両方が内部のようになります。

.H:

namespace MyNameSpace { 
void MyFunction(int MyParameter); 
} 

た.cpp:無関係な追記オン

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

、なぜ2番目のファイルがありません.cppにする必要がありますか? – Maxpm

+0

".cpp"である必要はありません。 これは、C++コンパイラが認識できるものでなければなりません。 例のための.c、.cpp、または.cxxのように –

+0

これはデバッグ目的のためだけです(構文エラーがあるかどうかを確認する)か、別の理由がありますか? – Maxpm

0

どちらも、あなたが名前空間に定義を配置する必要はありません、あなたのプロトタイプは、名前空間内に存在しない場合、名前空間

1

でなければなりません。プロトタイプが名前空間にある場合、その定義は同じ名前空間内にある必要があります。