С Новым годом! Форум программистов, компьютерный форум, киберфорум
C++/CLI
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/18: Рейтинг темы: голосов - 18, средняя оценка - 5.00
3 / 3 / 3
Регистрация: 09.04.2010
Сообщений: 29

Указатель на неопределённый тип

12.05.2011, 15:51. Показов 3448. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть, допустим, у меня вот такой класс:

C++
1
2
3
4
5
public ref class MyClass {
public
    int info;
...
}
Далее пишу примерно такой код :

C++
1
2
3
4
5
void *ref; // Указатель на неопределённый тип
MyClass ^Ex = gcnew MyClass(); // Экземпляр класса в динамической памяти
ref = Ex; // Указателю присваиваем значение указателя на объект Ex
int x = ((MyClass ^)ref)->info; // Тут пытаюсь разыменовать указатель, но компилятор (VS 2010) тычет 
// меня носом в несовпадение типов
Как быть? Попогите исправить ошибку, пожалуйста.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
12.05.2011, 15:51
Ответы с готовыми решениями:

Указатель на объект-тип
Здравствуйте, у меня не то чтобы вопрос, скорее прощу уточнить прав ли я. У любого ссылочного объекта есть к тому же 2 дополнительных...

Указатель на ссылочный тип
Доброго времени суток, не могу разобраться с маленькой проблемой: Имеется класс "Car" (его внутреннее содержимое не важно),...

Указатель на неопределенный тип
Можете привести пример простой программы с этим указателем void* p; Я что-то не могу придумать с ним можно сделать..

2
Эксперт С++
623 / 467 / 57
Регистрация: 28.01.2011
Сообщений: 605
12.05.2011, 17:49
Не совсем ясно, зачем такие извращения, если нет жесткой необходимости использовать этот указатель в неуправляемом коде и производить с ним махинации, то можно использовать System::Object^, благо с ним всё замечательно делается без проблем. А если всё таки нужно, то можно воспользоваться либо interior_ptr<void *>, либо просто void *, выглядеть будет примерно так:
C++
1
2
3
4
5
void * vref;
MyClass ^ Ex = gcnew MyClass();
cli::pin_ptr<MyClass ^> p = &Ex;
vref = reinterpret_cast<void *>(p);
int x = (*cli::interior_ptr<MyClass ^>(vref))->info;
И с interior_ptr соответственно(в принципе, то же самое):
C++
1
2
3
4
5
cli::interior_ptr<void *> vref;
MyClass ^ Ex = gcnew MyClass(2);
cli::pin_ptr<MyClass ^> p = &Ex;
vref = cli::interior_ptr<void *>(p);
int x = (*cli::interior_ptr<MyClass ^>(vref))->info;
А вообще, если вы пишете в managed коде, то используйте interior_ptr для указателей на unmanaged типы, а обычные указатели только в коде , помеченном как unmanaged.
1
3 / 3 / 3
Регистрация: 09.04.2010
Сообщений: 29
12.05.2011, 19:21  [ТС]
Огромное спасибище
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
12.05.2011, 19:21
Помогаю со студенческими работами здесь

Указатель и его неопределённый тип
struct SAI_BuMa { int number_BuMa; int counter_BuMa; }; AI.style.pointer = new SAI_BuMa; IF_data_AI &gt;&gt; tmp; ...

Неопределённый тип
Добрый вечер! Вопрос такой: делаю программу. Необходимо реализовать класс List, имитирующий одноимённый тип в Python (массив...

Неопределенный пользователем тип
Подскажите, пож., как решить такую проблему? Прорамма пишет, что Dim dbs As Database - тип, не определенный пользователем. Так этож...

Ссылочный тип (тип указатель)
Такая проблема. Дали лабораторную работу на эту тему, однако как обычно ничего не объяснили. Покидайте пожалуйста примеры программ на тип...

Неопределенный тип переменной в структуре
Есть некоторая структура в одной переменной которой необходимо хранить переменные разных типов (т.е. там может лежать &quot;строка&quot;...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит токи на L и напряжения на C в установ. режимах до и. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
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