Utilisation non valide le nom du modèle, sans liste d'arguments

Je suis tenter de faire deux choses qui me donnent des problèmes:

1) définition de type d'un std::vector

2) déclarer std::auto_ptr

Tous les deux pour me donner l'erreur "invalid use of template-name 'std::vector/auto_ptr' without an argument list". Voici mes en-têtes où l'erreur est causé:

ResourceLocationDefinition.h

//ResourceLocationDefinition contains the information needed
//by Ogre to load an external resource.

#ifndef RESOURCELOCATIONDEFINITION_H_
#define RESOURCELOCATIONDEFINITION_H_

#include "string"
#include "vector"

struct ResourceLocationDefinition
{
    ResourceLocationDefinition(std::string type, std::string location, std::string section) :
        type(type),
        location(location),
        section(section)
    {
    }

    ~ResourceLocationDefinition() {}
    std::string type;
    std::string location;
    std::string section;
};

typedef std::vector ResourceLocationDefinitionVector;

#endif

EngineManager.h

#ifndef ENGINEMANAGER_H_
#define ENGINEMANAGER_H_

#include "memory"
#include "string"
#include "map"

#include "OGRE/Ogre.h"
#include "OIS/OIS.h"

#include "ResourceLocationDefinition.h"

//define this to make life a little easier
#define ENGINEMANAGER OgreEngineManager::Instance()

//All OGRE objects are in the Ogre namespace.
using namespace Ogre;

//Manages the OGRE engine.
class OgreEngineManager :
    public WindowEventListener,
    public FrameListener
{
public:
    //Bunch of unrelated stuff to the problem

protected:
    //Constructor. Initialises variables.
    OgreEngineManager();

    //Load resources from config file.
    void SetupResources();

    //Display config dialog box to prompt for graphics options.
    bool Configure();

    //Setup input devices.
    void SetupInputDevices();

    //OGRE Root
    std::auto_ptr root;

    //Default OGRE Camera
    Camera* genericCamera;

    //OGRE RenderWIndow
    RenderWindow* window;

    //Flag indicating if the rendering loop is still running
    bool engineManagerRunning;

    //Resource locations
    ResourceLocationDefinitionVector  resourceLocationDefinitionVector;

    //OIS Input devices
    OIS::InputManager*      mInputManager;
    OIS::Mouse*             mMouse;
    OIS::Keyboard*          mKeyboard;
};

#endif /* ENGINEMANAGER_H_ */
  • alors pourquoi ne pas donner ita argument de modèle ?
InformationsquelleAutor | 2012-11-23