diff --git a/src/command_line_options.cpp b/src/command_line_options.cpp index bf7f3d3..8853d03 100644 --- a/src/command_line_options.cpp +++ b/src/command_line_options.cpp @@ -28,8 +28,11 @@ #include "uinput_deviceid.hpp" #include "command_line_options.hpp" -// See http://stackoverflow.com/questions/303562/c-format-macro-inline-ostringstream -#define RAISE_EXCEPTION(x) throw std::runtime_error(static_cast<std::ostringstream&>(std::ostringstream().seekp(0, std::ios_base::cur) << x).str()) +#define RAISE_EXCEPTION(x) do { \ + std::ostringstream kiJk8f08d4oMX; \ + kiJk8f08d4oMX << x; \ + throw std::runtime_error(kiJk8f08d4oMX.str()); \ +} while(0) CommandLineOptions* command_line_options = 0; diff --git a/src/uinput.hpp b/src/uinput.hpp index 16f8bb1..c73fe69 100644 --- a/src/uinput.hpp +++ b/src/uinput.hpp @@ -33,9 +33,9 @@ #include "xboxdrv.hpp" #include "xpad_device.hpp" -class Xbox360Msg; -class Xbox360GuitarMsg; -class XboxMsg; +struct Xbox360Msg; +struct XboxMsg; +struct Xbox360GuitarMsg; class uInput { diff --git a/src/xbox360_wireless_controller.hpp b/src/xbox360_wireless_controller.hpp index 9e467bf..6052042 100644 --- a/src/xbox360_wireless_controller.hpp +++ b/src/xbox360_wireless_controller.hpp @@ -22,7 +22,7 @@ #include "xbox_generic_controller.hpp" class USBReadThread; -class XboxGenericMsg; +struct XboxGenericMsg; struct XPadDevice; /** */ diff --git a/src/xbox_generic_controller.hpp b/src/xbox_generic_controller.hpp index 777f254..422d270 100644 --- a/src/xbox_generic_controller.hpp +++ b/src/xbox_generic_controller.hpp @@ -21,7 +21,7 @@ #include <stdint.h> -class XboxGenericMsg; +struct XboxGenericMsg; class XboxGenericController {