私はまだC++を学んでいますが、以前は自分の名前空間を実際に作成したことはありません。私は彼らと一緒に実験していました。仕事をするのにほとんどのことがありましたが、私はまだできないことがあります。 NameOfClass::method
のようなものを入力せずに、クラス内で静的メソッドを呼び出せるようにしたいと考えています。ここで私はコードは次のようになります考えたものであるが、それはコンパイルに失敗します。C++は長いパスを避けるために名前空間を使用します
ファイルA.h
、
namespace Test
{
class A
{
public:
static int foo() { return 42; }
};
}
ファイルmain.cpp
、
#include <iostream>
#include "A.h"
using namespace std;
using namespace Test::A;
int main()
{
cout << foo() << endl;
return 0;
}
は、コンパイラは私を与える:
main.cpp:6: error: ‘A’ is not a namespace-name
main.cpp:6: error: expected namespace-name before ‘;’ token
main.cpp: In function ‘int main()’:
main.cpp:10: error: ‘foo’ was not declared in this scope
入力しないと何をしようとしているのですか。A::foo
?
これはバマーです。 : -/ –