0

次のガイドを使用していますhttp://rodrigo-silveira.com/opengl-tutorial-parsing-obj-file-blender/#.UTRmkvUudqI

webglでobjファイルを読み込もうとしているからです。私の RokkoParse.cpp ファイルでは、'vector' を使用しています。しかし、私のコンパイラは「std::vector is missing」と言っています。このエラーを Web で検索しようとしましたが、良い結果が得られませんでした。私の問題がどこにあるか誰かが私を助けることができますか?

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;
}

両方のファイルで、同じエラーが表示されます

ありがとう!

4

2 に答える 2

9

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テンプレート引数なしで使用します。これが、コンパイラが不平を言う理由です。

于 2013-03-04T10:12:29.097 に答える
2

完全なエラー メッセージが表示されなかったと確信しており、実際には「std::vector に型引数がありません」などのメッセージが表示されます。

この理由は、これがvectorクラス テンプレートであるためです。保持するオブジェクトの種類を指定する必要があります。たとえばvector<int>、 またはvector<string>.

于 2013-03-04T10:12:30.017 に答える