use*_*275 2 c++ c-preprocessor clang++
错误:
“无法声明没有名称的类模板”
由 clang++ 给出以下文件“foo.cpp”:
#ifndef foo
#define foo
template <class T>
struct foo {
private:
const T t;
};
#endif
Run Code Online (Sandbox Code Playgroud)
命令行输入及错误:
me@computer$ clang++ -c foo.cpp
foo.cpp:5:1: error: cannot declare a class template with no name
Run Code Online (Sandbox Code Playgroud)
更改包含守卫。它们定义foo
为“无”,foo
用“无”替换任何进一步出现的。这会删除您的类模板的名称。
#ifndef FOO_H_
#define FOO_H_
// as before
#endif
Run Code Online (Sandbox Code Playgroud)