[問題] Class 內自訂 Struct, new 失敗.
遇到的問題
我寫了一個 Class C, 裡面定義了一個 struct S,
Class 有個函數 F(), 呼叫 F() 時會進行 malloc 動作
但 Complier 卻失敗了
請問我觀念是否有問題?
程式跑出來的錯誤結果:
error C2679: binary '=' : no operator defined which takes a right-hand
operand of type 'struct S*' (or there is no acceptable conversion)
Error executing cl.exe.
開發平台: (例: VC++ or gcc/g++ or Dev-C++, Windows or Linux)
VC.
有問題的code: (請善用置底文標色功能)
typedef struct _Data{
double *property;
double cluster_d; // 與目前 cluster 距離
int cluster; // 所屬 cluster
char *comment; // 註解
} *pData,Data;
class EdisonKMeans{
private:
unsigned data_cnt;
unsigned K;
unsigned Dim;
Data data;
public:
void InitializeData();
....
};
void EdisonKMeans::InitializeData()
{
data = (Data*)malloc(sizeof(Data)*data_cnt);
}
補充說明:
--
我期待 我等待
肩狹骨上的翅膀早些長出來
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 180.177.77.80
※ 編輯: tropical72 來自: 180.177.77.80 (05/02 06:58)
→
05/02 07:04, , 1F
05/02 07:04, 1F
→
05/02 07:10, , 2F
05/02 07:10, 2F
→
05/02 07:11, , 3F
05/02 07:11, 3F
→
05/02 07:11, , 4F
05/02 07:11, 4F
→
05/02 07:14, , 5F
05/02 07:14, 5F
→
05/02 07:17, , 6F
05/02 07:17, 6F
→
05/02 07:18, , 7F
05/02 07:18, 7F
→
05/02 07:18, , 8F
05/02 07:18, 8F
→
05/02 07:19, , 9F
05/02 07:19, 9F
→
05/02 07:19, , 10F
05/02 07:19, 10F
→
05/02 07:19, , 11F
05/02 07:19, 11F
→
05/02 07:20, , 12F
05/02 07:20, 12F
→
05/02 07:22, , 13F
05/02 07:22, 13F
→
05/02 07:22, , 14F
05/02 07:22, 14F
→
05/02 07:23, , 15F
05/02 07:23, 15F
→
05/02 07:24, , 16F
05/02 07:24, 16F
→
05/02 07:25, , 17F
05/02 07:25, 17F
→
05/02 07:26, , 18F
05/02 07:26, 18F
→
05/02 07:32, , 19F
05/02 07:32, 19F
→
05/02 07:32, , 20F
05/02 07:32, 20F
→
05/02 07:32, , 21F
05/02 07:32, 21F
→
05/02 07:33, , 22F
05/02 07:33, 22F