我正在创建一个通用数据结构,我想返回一个 vector ,其中包含我的结构中的一些对象。
我试过了
template<class T>
vector<T> DataStructure<T>::getItems(int count)
{
vector<T> items;
for(int i = 0; i < count; i++)
items.push_back(data[i]);
return items;
}
但是编译器说
错误:ISO C++ 禁止声明没有类型的“vector ”
错误:应为“;”在 '<' 标记之前
最佳答案
vector
未定义。
您需要 #include <vector>
并使用 std::vector
指定其命名空间或者放一个 using namespace std;
在您的函数中或在全局范围内(应避免后一种建议)。
#include <vector>
template<class T>
std::vector<T> DataStructure<T>::getItems(int count)
{
std::vector<T> items;
for(int i = 0; i < count; i++)
items.push_back(data[i]);
return items;
}
关于c++ - 如何从 C++ 中的函数返回一个 vector<T>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4808965/