using namespace std 和 using namespace chrono 为什么会有先后顺序?
Admin·1/16/2025·0 views
C++开发工具
今天发现使用using namespace chrono; using namespace std;是有先后顺序的。顺序不对编译器会报错
#include <iostream>
#include <chrono>
using namespace chrono;
using namespace std;
int main() {
milliseconds ms(1000); // 编译错误:不明确的符号
cout << ms.count() << " milliseconds" << endl;
return 0;
}
在这种情况下,using namespace std 会将 std::milliseconds 引入作用域,而编译器可能会遇到歧义,因为它无法确定应使用 std::chrono::milliseconds 还是 std::milliseconds