包含模板的头文件中"not declared in scope"错误
"not declared in scope" error in a header file with templates
因此,我创建了一个包含以下内容的头文件:
namespace A
{
template<int a>
void foo(...)
{
//This throws a "test was not declared in this scope" error:
boost::function< bool (int, int)> t = test<a>;
}
template<int a>
bool test(int c, int d)
{
//Do stuff;
}
}
但是,编译时会抛出错误,我不知道为什么。 测试显然在范围内。
用boost:ref(test<a>)
或&test<a>
替换test<a>
仍然不起作用。
有什么想法吗?
你至少需要声明一些东西,然后才能使用它。在此之前,编译器并不知道它实际上存在。
namespace A
{
template<int a>
bool test(int c, int d);
template<int a>
void foo(...)
{
//This throws a "test was not declared in this scope" error:
boost::function< bool (int, int)> t = test<a>;
}
template<int a>
bool test(int c, int d)
{
//Do stuff;
}
}
相关文章:
- 如何修复"error: ‘_1’ was not declared in this scope"?
- 类中的数组变量C++导致"was not declared in this scope"实现文件的一个函数中错误,但在构造函数中不会导致错误
- 如何解决"cout was not declared in this scope"错误?
- 为什么程序显示我"was not declared in this scope"?
- 为什么我会收到"getuid was not declared in that scope"错误?
- 即使包含 <time.h 后仍"‘CLOCK_PER_SEC’ was not declared in this scope"错误>
- 我正在接受"Error: string was not declared in this scope"
- C++ 我一直在"was not declared in this scope error"
- 明确声明时显示"DialogProc not declared"错误
- 将 .ui 文件导入 Qt5 C++时出错"was not declared in this scope"
- 编译 CPP 应用程序时出错。 "error: 'posix_memalign' was not declared in this scope"
- main.cpp中的错误:函数库中的函数"not declared in this scope",但实际上是
- "Error: 'dungeon_t' was not declared in this scope"但包含在标题中
- C++ 中的" Variable ' i ' was not declared in scope "是什么?
- "pointer was not declared in this scope"是什么意思
- 学习如何在遇到错误'variable not declared in scope'的 c++ 中使用指针
- "error: not declared in this scope?"是什么意思
- 宣布时的另一个'not declared in this scope'问题
- " 'X' not declared in this scope "错误
- 子类模板错误 (C++): "error: 'root' was not declared in this scope"