我在下面有以下代码,
std::complex<double>** x;
x = calloc(10,sizeof(complex <double> *));
Run Code Online (Sandbox Code Playgroud)
此代码无法使用以下错误消息进行编译.
error: invalid conversion from 'void*' to 'std::complex<double>*' [-fpermissive]
Run Code Online (Sandbox Code Playgroud)
我怎样成功编译?为什么这段代码无法编译?
您正在尝试编写C++,就像它是C一样,它允许像这样的危险隐式转换.
要分配大小为10的动态数组,请使用
std::vector<std::complex<double>> numbers(10);
Run Code Online (Sandbox Code Playgroud)
并且,如果你真的想要一个指向第一个元素的指针
x = numbers.data();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1394 次 |
| 最近记录: |