Fehlermeldung beim Compilieren mit Visual C++ 2008!



  • Guten Tag,

    ich bekomme beim Compilieren dieses Codes:

    // IrrSpiel.cpp from www.HenkesSoft.de
    // STEP 1
    //
    // Irrlicht types cf. irrTypes.h, e.g.
    // s32: __int32, u32: unsigned __int32,
    // f32: float,   f64: double
    
    #include "stdafx.h"		// MS VisualC++
    #include <iostream>    // cout, cin, endl
    #include <limits>      // wait()
    #include <irrlicht.h>  // grafic engine (free)
    #include <irrklang.h>  // sound system (free for private use)
    
    // irrlicht namespace
    using namespace irr; using namespace core; using namespace scene;
    using namespace video; using namespace io; using namespace gui; using namespace std;
    
    // linker commands
    #pragma comment(lib, "irrlicht.lib")
    #pragma comment(lib, "irrklang.lib")
    
    void wait() // prohibits "unexpected shutdown" of console
    {
     std::cin.clear();
     std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');
     std::cin.get();
    }
    
    void drawScene(IVideoDriver* driver, ISceneManager* smgr, IGUIEnvironment* guienv)
    {
      driver->beginScene(true, true, SColor(0,200,200,200));
      smgr->drawAll();
      guienv->drawAll();
      driver->endScene();
    }
    
    // entry point of program
    s32 main()
    {
        // start Irrlicht
        IrrlichtDevice* device = createDevice(
        EDT_DIRECT3D9, dimension2d<s32>(800,600),32,0,0,0,0);
        IVideoDriver*    driver = device->getVideoDriver();
        ISceneManager*   smgr   = device->getSceneManager();
        IGUIEnvironment* guienv = device->getGUIEnvironment();
        device->getCursorControl()->setVisible(false); // no mouse cursor
    
        u32 scene = 0;
        u32 fps   = 0;
    
        /********************* "device->run()" with FPS and Info ********************/
        while(device->run())
        {
          if(device->isWindowActive())
          {        
            // draw scene
            drawScene(driver, smgr, guienv);
            ++scene;
    
            // deliver information in window caption
            fps = driver->getFPS();
            stringw str = L"HenkesSoft \"MUHAHA Code1\"  FPS: ";
            str += fps;
            str += " Scene: ";
            str += scene;
            device->setWindowCaption(str.c_str());
    
            if( scene >= 10000 )           
              break;
          }//if
        }//while
    
        device->drop(); // delete object
        cout << "GAME OVER - Press ENTER (twice), please. Thank you for playing this game." << endl;
        wait(); // windows console specialty ;-)
    }//main
    

    Lieder folgende Fehlermeldung 😞

    y:\mark\eigene dateien\visual studio 2008\projects\irrlicht1\irrlicht1\irr.cpp(42) : error C2664: 'irr::createDevice': Konvertierung des Parameters 2 von 'irr::core::dimension2d<T>' in 'const irr::core::dimension2d<T> &' nicht möglich
            with
            [
                T=irr::s32
            ]
            and
            [
                T=irr::u32
            ]
            Ursache: Konvertierung von 'irr::core::dimension2d<T>' in 'const irr::core::dimension2d<T>' nicht möglich
            with
            [
                T=irr::s32
            ]
            and
            [
                T=irr::u32
            ]
            Kein benutzerdefinierter Konvertierungsoperator verfügbar, der diese Konvertierung durchführen kann, oder der Operator kann nicht aufgerufen werden
    

    Kann mir jemand helfen?

    MFG



  • Ich kenne die Definition der Methoden nicht aus dem Kopf, aber nach der Fehlermeldung würde ich sagen, daß dort ein dimension2d<u32> erwartet wird.



  • CStoll schrieb:

    Ich kenne die Definition der Methoden nicht aus dem Kopf, aber nach der Fehlermeldung würde ich sagen, daß dort ein dimension2d<u32> erwartet wird.

    Wow vielen, vieln Dank! Es hat geklappt! 🙂


Anmelden zum Antworten