我正在使用以下指南http://rodrigo-silveira.com/opengl-tutorial-parsing-obj-file-blender/#.UTRmkvUudqI
因为我正在尝试在webgl中加载obj文件。 在我的RokkoParse.cpp文件中,我使用'vector'。 但我的编译器说“std :: vector is missing”我试图在网上搜索这个错误,但我无法提供任何好处。 有人可以帮我解决我的问题吗?
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;
}
在两个文件中他们都说同样的错误
谢谢!
答案 0 :(得分:3)
vector
是一个模板。声明向量时,必须指定向量元素应具有的类型:“ 的向量?
例如:
std::vector<int> vi; // This declares a vector of integers
std::vector<std::string> vs; // This declares a vector of strings
// ...
在您的代码中,您使用std::vector
而没有任何模板参数。这就是编译器抱怨的原因。
答案 1 :(得分:2)
我很确定你没有给我们完整的错误信息,它实际上说“std :: vector缺少一个类型参数”或类似的东西。
原因是vector
是一个类模板,你必须告诉它你希望它保持什么样的对象,例如vector<int>
或vector<string>
。