I am sorry the topic title isn't very descriptive. It's the best I could do. I have been trying to get a demo application of OGRE run using my IDE to compile the source.
When trying to compile the launch.cpp (source) file it comes up with errors, which I thought it would, so no big deal. I have however found an inconsistency in a well respected 3rd party library. It is a line of code in this third party library which my IDE has found an error in. At first I thought it just a consequence of me not properly including relevant C++ header files. After checking though it seems more fundamental. Heres the line:
destroyInputSystem is a function defined in class InputManager which is inside namespace OIS. So far looks like the code checks out. The line is calling the function destroyInputSystem and loading in an argument with tag mInputManager which is a pointer.Code:OIS::InputManager::destroyInputSystem(mInputManager);
Trouble is when I looked in the actual class definition in OIS::InputManager the function destroyInputSystem does not take an argument! Has following define:
Also when I change the relevant line of code above to:Code:static void destroyInputSystem();
With argument removed my IDE no longer complains on this issue when I compile. Seems highly unlikely though that I would have found something developer's of this respected 3rd party library would have missed. As it happens OIS stands for I think Object Input System. It's used for getting keyboard and joystick input.Code:OIS::InputManager::destroyInputSystem();
Can anyone tell me what's happening here? Thanks