我正在编写一个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')
Run Code Online (Sandbox Code Playgroud)
基本上,这可以看作是我硬编码指针的值类似于:
double *pointer = (double *)hex2dec('00C2E4E8');
Run Code Online (Sandbox Code Playgroud)
我收到错误:
错误C2440:'=':无法从'double'转换为'double*'
我也尝试过使用static/const/reinterpret/dynamic_cast,但我真的不明白它们是如何工作的(我无法让它们工作).是否可以手动为指针分配内存地址值?