小编Bl4*_*C4t的帖子

如何将头文件中具有自动返回类型的函数包含到多个cpp文件中

我想以这样的方式定义一个自动返回类型的函数,如果包含标头,我可以从多个 .cpp 文件中调用它。我有4个文件

\n

head.hpp- 函数在哪里

\n
#ifndef HEAD_HPP\n#define HEAD_HPP \n\nauto f();\n\n#endif\n
Run Code Online (Sandbox Code Playgroud)\n

head.cpp- 函数声明的位置

\n
#include "head.hpp"\n\nauto f(){\n    return [](){\n        return 10;\n    };\n}\n
Run Code Online (Sandbox Code Playgroud)\n

test1.cpp- 使用地点

\n
#include "head.hpp"\nint foo(){\n    auto func = f();\n    return f();\n}\n
Run Code Online (Sandbox Code Playgroud)\n

main.cpp- 也用在哪里

\n
\n#include "head.hpp"\nint foo();\nint main(){\n    auto fu = f();\n\n    return fu() + 5 + foo();\n}\n
Run Code Online (Sandbox Code Playgroud)\n

所有文件都编译在一起\n我仍然收到错误:

\n
\n

错误:在扣除 \xe2\x80\x98auto\xe2\x80\x99 之前使用 \xe2\x80\x98auto f()\xe2\x80\x99

\n
\n
\n

自动 fu = f();

\n
\n

c++ lambda header include-guards auto

4
推荐指数
1
解决办法
3993
查看次数

标签 统计

auto ×1

c++ ×1

header ×1

include-guards ×1

lambda ×1