向量:类模板的参数列表:"std::vector is missing"

Vector: Argument list of class template: "std::vector is missing"

本文关键字:std vector is missing 列表 参数 向量      更新时间:2023-10-16

我使用以下指南http://rodrigo-silveira.com/opengl-tutorial-parsing-obj-file-blender/#.UTRmkvUudqI

因为我试图在webgl加载一个obj文件。在我的rokkopose .cpp文件中,我使用"矢量"。但是我的编译器说&;std::vector缺失&;我试着在网上搜索这个错误,但我找不到任何好东西。谁能帮我一下我的问题在哪?

RokkoParses.h

    #pragma once
#include <vector>
#include <string>
#include <iostream>
#include <string>
using std::string;
class RokkoParser
{
public:
public:
   static void objToTxt(const string aInFilename, 
                        const string aOutFilename, 
                        bool aVerbose = false);
   static std::vector explode(string aStr, char aDelim);
};

RokkoParser.cpp

    #include "StdAfx.h"
#include "RokkoParser.h"
#include <cstdio> // instead of <stdio.h>
// #include <conio.h> -- do not use
#include <cstring> // instead of <string.h>
#include "stdafx.h"
#include <iostream>
#include "stdafx.h"
#include<iostream>
#include<conio.h>
#include <string>
#include <iostream>
#include <vector>
#include <string>
#include <iostream>
#include <string>
using namespace std;

vector RokkoParser::explode(string aStr, char aDelim)
{
  vector res;
  string str = aStr.substr(0, aStr.find(aDelim));
  while(str.size() < aStr.size())
  {
    res.push_back(str);
    aStr = aStr.substr(aStr.find(aDelim) + 1);
    str = aStr.substr(0, aStr.find(aDelim));
  }
  res.push_back(str);
  return res;
}

在两个文件中,他们说相同的错误

谢谢!

vector是一个类模板。声明vector时,必须指定vector元素的类型:"a vector of what"?

例如:

std::vector<int> vi;         // This declares a vector of integers
std::vector<std::string> vs; // This declares a vector of strings
// ...

在您的代码中,您使用没有任何模板参数的std::vector。这就是为什么编译器会报错。

我很确定你没有给我们完整的错误信息,它实际上是说"std::vector缺少一个类型参数"或类似的东西。

这样做的原因是vector是一个类模板,你必须告诉它你想要它保存什么样的对象,例如vector<int>vector<string>