Я хочу использовать сетевую библиотеку Irrnet в игре Irrlicht.
Исходный код использует сокеты Linux, и я пытаюсь перенести его для Windows, заменив его кодом, использующим Windows 'Winsock2.
Библиотека успешно компилируется, но когда я пытаюсь запустить пример Quake, она вылетает. Я нашел строку, на которой программа останавливается, но я не могу понять, как решить проблему.
Программа останавливается при втором вызове функции getNextItem
class NetworkType {
public :
NetworkType();
~NetworkType();
template<class T>
void getNextItem(irr::core::vector3d<T>& data);
private:
typedef std::queue<std::string> Container;
Container items;
};
template<class T>
void NetworkType::getNextItem(irr::core::vector3d<T>& data) {
T X, Y, Z;
std::istringstream item(items.front());
// the program does not get here the second time it calls this function
items.pop();
item >> X;
item >> Y;
item >> Z;
data = irr::core::vector3d<T>(X, Y, Z);
}
и именно в этой строке
std::istringstream item(items.front());
Может кто-нибудь сказать мне, почему программа останавливается во второй раз, когда она достигает этой строки?
вот ссылка для полного исходного кода