类 模板 名称后的 模板 参数列表必须按 模板 参数列表中使用的顺序列出参数 C3860
时间: 2024-05-01 08:19:09 浏览: 13
这是一个 C++ 的编译错误,它表示类模板名称后的模板参数列表必须按照模板参数列表中使用的顺序列出参数。这个错误通常发生在类模板的定义中,当模板参数列表中的参数顺序和类模板中使用参数的顺序不匹配时会出现此错误。
例如,下面的代码中就会出现这个错误:
```
template<typename T, typename U>
class MyTemplateClass {
public:
MyTemplateClass(T arg1, U arg2) {
// constructor code
}
};
MyTemplateClass<int, double> myObj(3.14, 42); // 编译错误:模板参数列表不匹配
```
在这个例子中,我们定义了一个类模板 `MyTemplateClass`,它有两个模板参数 `T` 和 `U`。在类模板定义中,我们使用了参数 `T` 和 `U` 来定义类的成员变量和成员函数。然后我们创建了一个 `MyTemplateClass` 类型的对象 `myObj`,并传递了两个参数 `3.14` 和 `42`。但是这里的参数顺序不正确,应该是先传递 `int` 类型的参数,再传递 `double` 类型的参数。因此编译器会报出错误 C3860,提示我们需要按照模板参数列表中使用的顺序来列出参数。
正确的代码应该是这样的:
```
MyTemplateClass<double, int> myObj(3.14, 42); // 没有编译错误
```
在这个例子中,我们按照模板参数列表中使用的顺序,先传递了一个 `double` 类型的参数,再传递了一个 `int` 类型的参数,所以编译器不会报出错误。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)