dll中new的数组如何传递出去
我需要在dll中new三个数组并传递出去,供其余的dll使用。
所有的dll由第三方软件调用,调用者不知道三个数组的大小。因此也不能在dll外部先开辟数组空间。
我在dll中开辟空间后,该如何将这些数组传递出去呢?
如果将函数写成这样:
void _declspec(dllexport) dllfun(int *A, int *B, int *C)
这种形式在调用之前就需要将A B C 三个数组的空间开辟好,并将首地址传递给dll,这不是我想要的。
[解决办法]
用二级指针就可以吧,
void _declspec(dllexport) dllfun(int **A, int **B, int **C)
*a = new int[m];
[解决办法]