我正在尝试使用更短的语法并避免std::在任何地方使用,所以我开始使用新的别名语法.在某些例子中,我看到人们以这种方式使用它:
using json = nlohmann::json;
Run Code Online (Sandbox Code Playgroud)
并尝试使用std::,但代码如下:
#include <iostream>
using cout = std::cout;
int main()
{
cout << "Sometext";
return 0;
}
Run Code Online (Sandbox Code Playgroud)
但我得到错误'cout' in namespace 'std' does not name a type.我知道我可以使用
using std::cout;
Run Code Online (Sandbox Code Playgroud)
但为什么using cout = std::cout;不起作用?
编辑:
所有投票结束这个问题的人:我发布了它,因为我无法找到解决方案,通过写错误信息.是的,提到的问题是解决我的问题的问题描述了会发生什么,但是当有人遇到这种错误时,他将无法轻易找到解决方案.我只是没有意识到,那cout是一个对象.我已经读过这样的一些问题,但仍然不知道会发生什么.
我想要一个文件,当我可以列出名称(一行中的一个)时,这样当调用 make 时,就会根据这个名称动态生成规则,并附加一些字符串。
例子:
文件内容:
target1
target2
target3
Run Code Online (Sandbox Code Playgroud)
要连接的字符串:my_task_
由此我想有 3 条规则:
my_task_target1:
<some things to do>
my_task_target2:
<some things to do>
my_task_target3:
<some things to do>
Run Code Online (Sandbox Code Playgroud)
我知道,当我拥有包含所有这些目标名称的数组时,我可以在这个答案中这样做,但我需要从文件中读取数据。
我希望它是这样的,因为我将有很多目标,并且每个目标都有不同的任务列表。每个任务都有自己的文件,其中包含目标列表。最后,我还将创建名称在目标之后的规则,但没有前缀,并且此规则将包含分配给某个目标的所有任务,以便我可以调用单独的任务,以及目标所需的所有任务,只需一个 make命令。
我怎样才能做到这一点?或者也许有更好的方法来做我想做的事?