请注意,您将在此处看到代码的过度简化版本。所以它可能看起来没用。然而,这不是问题。
问题是我有一个像这样的主要模板类:
// The primary template class
template<int N>
struct Start {
int start;
template<typename... Args>
int operator()(Args... args) const {return start;}
};
Run Code Online (Sandbox Code Playgroud)
当我专门研究这个类模板时:
// Specialization for N=1:
template<>
struct Start<1> {
int operator()(int i) const {return start;}
};
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
error: ‘start’ was not declared in this scope
int operator()(int i) const {return start;}
Run Code Online (Sandbox Code Playgroud)
为什么start不在类的范围内声明Start<1>?
我很感激任何建议。
| 归档时间: |
|
| 查看次数: |
80 次 |
| 最近记录: |