Re[2]: Проблема в наследнике vector (STL)
От: izverg США  
Дата: 27.05.03 10:57
Оценка:
Здравствуйте, 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, а не строка. разобраться хочется.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.