我正在尝试使用具有相同功能的不同类型的不同类型的容器,但无法说服我的编译器。以下是我尝试过的一些事情:
#include <iostream>
#include <vector>
#include <list>
using namespace std;
// error: expected a qualified name after 'typename'
template<typename C<T>>
void func1() {
C<T> c;
c.push_back(new T);
}
// error: expected a qualified name after 'typename'
template<typename C<typename T>>
void func2() {
C<T> c;
c.push_back(new T);
}
// error: expected a qualified name after 'typename'
template<typename C<template <typename T>>>
void func3() {
C<T> c;
c.push_back(new T);
}
int main(int argc, char *argv[]) {
func1<vector<int>>();
func1<list<float>>();
func2<vector<int>>();
func2<list<float>>();
func3<vector<int>>();
func3<list<float>>();
return 0;
}
这在 C++ 中可能吗?