Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Список С++ - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ невозможно преобразовать параметр 1 из "int" в "int *&" http://www.cyberforum.ru/cpp-beginners/thread929023.html
#include <iostream> using namespace std; void Func1(int *n) { cout << *n << " = " << *n << endl; } void Func2(int &n) {
C++ DLL ошибка LNK2019 Добрый день! Рассматриваю пример, Создание и использование Dll, на MSDN. Делаю все, что требуется, создал dll, создал проект, указал нужные доп. пути к файлам, но приложение выдает ошибку:... http://www.cyberforum.ru/cpp-beginners/thread929022.html
C++ Экспорт из 3d max, наложение текстуры
Здравствуйте. Проблема с наложением текстуры. С помощью библиотеки lib3ds.lib импортирую 3ds файл в программу (простой куб), накладываю текстуру. Текстура независимо от размера (64х64 или 512х512)...
Сохранить скрин шот заданной области экрана C++
Добрый день, помогите пожалуйста написать программу, которая делает скриншот заданной области экрана и сохраняет в файл. Функционал минимальный, координаты прописаны жестко, программа консольная,...
C++ Как считать текст с файла ? http://www.cyberforum.ru/cpp-beginners/thread928930.html
Как считать текст с файла (например .txt) а потом в другой пустой файл записать текст с первого документа?
C++ cmd make Я понимаю, что вопрос немного не в ту ветку, но он очень тесно связан с c++. Скачивал уже не одну библиотеку, содержащую Makefile. Ни сам разобраться не смог, ни гугл не помог, в попытке собрать на... подробнее

Показать сообщение отдельно
castaway
Эксперт С++
4884 / 3019 / 370
Регистрация: 10.11.2010
Сообщений: 11,078
Записей в блоге: 10
Завершенные тесты: 1
26.07.2013, 18:09
Приходит на ум что-то вроде:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#include <typeinfo>
#include <iostream>
#include <stdexcept>
 
class any {
    void *  m_p;
 
public:
 
    template <class T> any( T value ) : m_p( (void *)(new T ( value )) ) {}
 
    template <class T> operator T () {
        T value;
        switch ( typeid( T ).name()[0] ) {
            case 'c':
                value = *((char *)m_p);
                break;
 
            case 'i':
                value = *((int *)m_p);
                break;
 
            default:
                throw std::domain_error( "bad cast\n" );
        }
        return value;
    }
};
 
int main()
{
    any c = 'c';
    any i = 1234567890;
 
    std::cout << (char)c << std::endl;
    std::cout << (int)i << std::endl;
}
Возможно подошел немного не с той стороны... но как вариант вполне сойдет.

Добавлено через 5 минут
gray_fox, с ходу и не сообразишь... как этим воспользоваться?
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru