Господа,
может быть кто-то из Вас работал с этой библиотекой и сможет тркуть меня носом в нужном месте.
Мне надо в проекте использовать boost. Я ее скачала и решила хоть немного разобраться.
Для этого взяла первый же из приведенных в хелпе примеров и попробовала его скомпилировать. Ага, шас! Получила такую вот ошибку:
d:\boost\boost\algorithm\string\yes_no_type.hpp(23) : error C2265: '<Unknown>' : reference to a zero-sized array is illegal
d:\boost\boost\algorithm\string\yes_no_type.hpp(24) : see reference to class template instantiation 'boost::algorithm::size_descriptor<I>' being compiled
d:\boost\boost\mpl\bool.hpp(37) : fatal error C1506: unrecoverable block scoping error
Сам код:
//#include "stdafx.h"
#include <boost/algorithm/string.hpp>
#include "iostream.h"
using namespace std;
using namespace boost;
int main(int argc, char* argv[])
{
string str1(" hello world! ");
boost::to_upper(str1); // str1 == " HELLO WORLD! "
boost::trim(str1); // str1 == "HELLO WORLD!"
cout << str1.c_str() << endl;
string str2=
boost::to_lower_copy(
boost::ireplace_first_copy(
str1,"hello","goodbye")); // str2 == "goodbye world!"
cout << str1.c_str() << endl;
return 0;
}
Сам проект я прикрепила.
Да, насчет stdafx.h: я сначала грешила на какие-то перехлесты с prekompiled headers, поэтому отключала их, потом включала... Но от перестановки слагаемых сумма не изменилась, чего и следовало ожидать.
При этом когда я попробовала следующий в хелпе пример с tokenizer, все работает! Но стоит появиться строке #include <boost/algorithm/string.hpp>
как тут же появляется та самая ошибка и все.
Скажите мне, где я туплю!?