Явная установка значения указателя

Я пишу mex-файл (с использованием C ++), который будет принимать адрес памяти в качестве входных данных и работать с данными по этому адресу памяти. . Поскольку я вынужден использовать MATLAB в качестве среды, моя программа может принимать только типы данных MATLAB в качестве входных данных (char, bool, float, double и int). Как я могу назначить свое входное значение указателю?

Псевдокод:

// Outside of program
// double input_arg = hex2dec('00C2E4E8')

double *pointer;
pointer = (double *)input_arg;
// pointer == hex2dec('00C2E4E8')

В основном это можно увидеть, когда я жестко кодирую значение указателя, подобное:

double *pointer = (double *)hex2dec('00C2E4E8');

Я получаю сообщение об ошибке:

ошибка C2440: '=': невозможно преобразовать из 'double' в 'double *'

Я также пробовал использовать static / const / reinterpret / dynamic_cast, но я действительно не понимаю, как они работают (и я не мог заставить их работать). Можно ли вообще вручную присвоить указателям значения адресов памяти?

7
задан Brian 8 August 2011 в 21:29
поделиться