2013-11-25 59 views
0

我有一個數組A [1000] [3],我想傳遞它與其他一些作爲線程函數的參數。這將作爲參數傳遞的結構如下:C++ - 結構成員指向數組

struct arg_struct{ 
// std::vector<Box> &box; 
double A[1000][3]; 
}; 

在主要我有一個指向struct和我嘗試分配A陣列像這樣:

arg_struct *args=new arg_struct; 
args->A=A; 

,但我得到的錯誤「無效數組賦值」。任何想法如何解決這個問題?

謝謝您的時間

UPDATE:我應該如何修改我的代碼,所以A在arg_struct指向一個數組?

+0

一個不會簡單地...分配一個數組。 –

回答

1

既不能在C也不能在C++中分配裸集。唉,在這種情況下,args->A不是指針,它是數組本身。它在很多情況下退化爲指針,但它不是指針!

+0

如果我將整個數組複製到args.A,我將使用2個數組的內存嗎?如果是這樣,我可以分配一個指向A數組的指針嗎? – user1016643

+0

是的,儘管這在多線程環境中聽起來有風險。 – john