如何用namespace将std包含在oldstd里以下代码不能编译通过:namespace oldstd{#include iostreamusing st
如何用namespace将std包含在oldstd里
以下代码不能编译通过:
namespace oldstd
{
#include <iostream>
using std::cout;
}
int main()
{
oldstd::std::cout << "Set std to oldstd successfully~";
return 0;
}
[解决办法]
这样写没有任何意义,而且许多标准库函数都在std命名空间,如非要如此,需要重新编译链接所有标准库函数。
[解决办法]
头文件要放到外面
#include <iostream>
namespace oldstd{
using std::cout;
}
int main(int argc, char* argv[]) {
oldstd::cout << "Set std to oldstd successfully~";
}
~
[解决办法]
include宏做了什么,你理解就没有疑惑了。
[解决办法]
去掉 using std::cout;试试
Using 就把std::cout 变成oldstd命名空间里的了
可以这样引用 oldstd::cout<<oldstd::endl;
难道你想这样,没有必要吧。
namespace oldstd{
#include<iostream>
//using std::cout;
//using std::endl;
namespace std{
using namespace ::std;
};
}
