如何解决using-declaration不能命名命名空间
如果我有这样的文件,那么一切都会按预期进行:
#include <filesystem>
#include <iostream>
int main() {
std::filesystem::path o = "C:\\Windows\\write.exe";
auto s = o.parent_path();
std::cout << s << std::endl;
}
但是我想尽可能使用这样的行:
filesystem::path o = "C:\\Windows\\write.exe";
我尝试了此操作,但出现错误:
// using-declaration may not name namespace 'std::filesystem'
using std::filesystem;
并且与此同时出错:
using namespace std::filesystem;
// error: 'filesystem' has not been declared
filesystem::path o = "C:\\Windows\\write.exe";
可以做我想做的事吗?
解决方法
您可以使用名称空间别名,例如
namespace filesystem = std::filesystem;
这是一个演示程序
#include <iostream>
namespace A
{
namespace B
{
int x;
}
}
int main()
{
namespace B = A::B;
B::x = 10;
std::cout << B::x << '\n';
return 0;
}
其输出为
10
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。