我需要從我的C++代碼中刪除所有引用,並且由於純C的知識是相當古老的,這就是爲什麼我想問你的意見。 你有這樣的方式與內存分配有任何疑問?:內存分配函數內指針指針
void myallocator2(int** mystr, int* howmany)
{
*howmany = 40;
*mystr = (int*)malloc((*howmany) * sizeof(int));
for(int i=0;i<*howmany;++i)
(*mystr)[i] = i*2;
}
int** mystr;
int* howmany = new int();
*howmany = 0;
myallocator2(mystr,howmany);
for(int i=0;i<*howmany;++i)
do something (*mystr)[i]
爲什麼你需要刪除所有的引用?還有,爲什麼你傳遞一個指向'howmany'的指針,然後將其設置爲任意數字?我假設你真的只想傳入一個int,而不是一個指向int的指針。 C中的 – Benj
你沒有引用,並且代碼必須是100%C兼容的。變量「howmany」可以被函數返回,但是我想盡可能地從舊代碼中保存。原始方法是: void myallocator2(A *&mystr,int&howmany) – zuko