【发布时间】:2018-06-22 08:09:00
【问题描述】:
我正在尝试使用更短的语法并避免在任何地方使用std::,因此我开始使用新的别名语法。在一些示例中,我看到人们以这种方式使用它:
using json = nlohmann::json;
并使用std:: 进行了尝试,但代码如下:
#include <iostream>
using cout = std::cout;
int main()
{
cout << "Sometext";
return 0;
}
但我收到错误 'cout' in namespace 'std' does not name a type。我知道我可以使用
using std::cout;
但是为什么using cout = std::cout; 不起作用?
编辑:
致所有投票结束这个问题的人:我发布了它,因为我无法找到解决方案,通过写错误消息。是的,作为我的问题的解决方案提到的问题描述了会发生什么,但是当有人遇到这种错误时,他不会轻易找到解决方案。我只是没有意识到,cout 是一个对象。我读过一些类似的问题,但仍然不知道会发生什么。
【问题讨论】:
-
没有 cmets 的拒绝投票违反了新规则,如下所述:stackoverflow.blog/2018/04/26/… 再次,请对此发表评论。我真的很想让它变得更好。
-
@Staszek 另外,该博文中没有描述新的规则,人们仍然可以随意投反对票
-
@Staszek 这是一篇博文,而不是新规则(甚至几乎没有资格作为新规则提案)
-
@Staszek 不,不是,友好的政策包括 1) 粗鲁和贬低语言是不行的。 2) 热情好客,要有耐心,并保持良好的意愿。 3)不要做一个混蛋。那篇博文也得到了一个相当糟糕的rep from a lot of people,你不一定会得到很多支持
标签: c++ c++11 using type-alias