名前空間を理解できません。A.cpp:
#include <iostream>
namespace A { int pause = 8; }
int main() {
std::cout << A::pause << std::endl;
return 0;
}
そしてそれは印刷し8ます。ただし、今は追加using namespace Aして変更A::pauseするだけpauseです。A.cpp:
#include <iostream>
namespace A { int pause = 8; }
using namespace A;
int main() {
std::cout << pause << std::endl;
return 0;
}
ここで、コンパイル エラーが発生します。
A.cpp: In function ‘int main()’:
A.cpp:5: error: reference to ‘pause’ is ambiguous
/usr/include/unistd.h:507: error: candidates are: int pause()
A.cpp:2: error: int A::pause
A.cpp:5: error: reference to ‘pause’ is ambiguous
/usr/include/unistd.h:507: error: candidates are: int pause()
A.cpp:2: error: int A::pause
誰かが何がうまくいかなかったのか説明できますか? を省略できるようにする方法と同様に、using namespace Aを省略できると思いました。行を移動しようとしましたが、同じエラー メッセージが表示されます。で宣言されていると明らかに競合するため、意図的に変数名を選択したことに注意してください。フィードバックをお待ちしております。ありがとう!A::using namespace stdstd::main()pausepause()iostream