Форум программистов, компьютерный форум, киберфорум
Boost C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
2 / 2 / 0
Регистрация: 02.07.2009
Сообщений: 52

lexical cast

28.08.2013, 21:39. Показов 1619. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
есть шаблонный класс внутри делается каст к инту все это внутри dll
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
template <class T>
class A
{
public:
A(T _data):data(_data){}
const char* GetStr();
private:
T data;
}
 
template <class T>
const char*A<T>::GetStr()
{
try {
  return  boost::lexical_cast<char*>(data);
}
catch(bad_lexical_cast&)
{
return NULL;
}
 
}
так вот , это все делается в длл , и именно после вызова функции GetStr для класса с шаблонным параметром заданным как int происходит чудо - все кастуется , но после выгрузки длл ( только после выгрузки) и закрытия программы вылетает abnormal обращение по адресу. Если FreeLibrary не использовать то все ок o_O.
пробовал даже просто вот так
C++
1
2
3
4
5
6
7
8
9
10
11
template <class T>
const char*A<T>::GetStr()
{
try {
    boost::lexical_cast<char*>(data);
return NULL;
}
catch(bad_lexical_cast&)
{
return NULL;
}
Все равно exeption при закрытии , стоит закоментить строку с катом - все ок .
P.S.
Boost 1.39 Embracadero Rad studio xe4

Добавлено через 44 минуты
извините за неточность писал lexical_cast<std::string>(data); , boost::lexical_cast<char*> не работал
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
28.08.2013, 21:39
Ответы с готовыми решениями:

Dynamic Cast C++
Прошу объяснить, что я делаю не так.. Есть у меня три класса: Man - базовый, Staff и Student - производные. Виртуализированы. ...

Cast from const_iterator to iterator
Доброго времени суток. Существует ли способ просто и быстро вытащить итератор из константного итератора? Вариант с distance не...

old style cast warning
#include &lt;iostream&gt; void test(int num){ std::cout &lt;&lt; num; } int main(){ char c = '0'; test(c); }

2
Эксперт С++
4986 / 3093 / 456
Регистрация: 10.11.2010
Сообщений: 11,170
Записей в блоге: 10
29.08.2013, 11:22
Еще бы ты показал как это все используешь..
0
Эксперт С++
 Аватар для Avazart
8484 / 6151 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
29.08.2013, 13:19
Цитата Сообщение от Andreyasu Посмотреть сообщение
есть шаблонный класс внутри делается каст к инту все это внутри dll
Шаблоны внутри DLL ?

Добавлено через 5 минут
Цитата Сообщение от Andreyasu Посмотреть сообщение
извините за неточность писал lexical_cast<std::string>(data); , boost::lexical_cast<char*> не работал
И если std::string тогда уточни код для него...

Предполагаю что ты возвращаешь из ф-ции
C++
1
stdString.c_str();
Но дело в том что stdString выходит из обрасти видимости ф-ции и уничтожается вместе с его содержимым, а значит ты возвращаешь не валидный указатель.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
29.08.2013, 13:19
Помогаю со студенческими работами здесь

Приведение типов C-style cast
Чем отличается приведение типа (int)variable; от int(variable); (хотелось бы с углублениями как и что и почему) Гугл результатов не дал....

Что возвращает cast оператор?
template &lt;class T&gt; class A { operator T () const {return value;} private: T value; }

Cast nvarchar to varbinary(max)
Создаю запрос для вставки изображения в таблицу. &quot;INSERT INTO imgTable (img) VALUES (:img )&quot; Как параметр img передаю QByteArray....

Down-cast: объяснить нюансы нисходящего преобразования типов
Скажите, пожалуйста, если я сделаю bad down-cast при помощи static_cast: class Base{ public: int x; int y; }; class...

Error C2440: <function-style-cast>: невозможно преобразовать "unsigned int" в "std::bitset<_Bits>"
С++ Не работает программа! Задание было такое: напишите программу invert(p,x,n), возвращающую значение х с инвертированными n-битами,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru