Здравствуйте, Lorenzo_LAMAS, Вы писали:
L_L>Никто не требует (и это проявилось в твоем случае), чтобы std::vector<char>::iterator был простым указателем на char. А потому твое приведение не сработало.
L_L>Сделать можно по-разному, например:
L_L>L_L>static_cast<void *>(&*begin());//0
L_L>static_cast<void *>(&front());//1
L_L>&operator[](0);//2
L_L>
Воспользовался варинтом номер 3. В принципе все работает как надо. Большое спасибо. Интересно вот что
int main()
{
string aaa;
Message bb;
bb << "Хер моржовый.";
bb >> aaa;
printf("%s\n", (char *)aaa);
}
вот так печатается. а почему вариант с printf("%s\n", bb.getdata());
не прокатывает ? потомучто он указывает не на строку а на длинну которая лежит на вершине вектора чтоли ? с другой стороны первая ложиться в вектор len, а не строка. разобраться хочется.