0
我需要這種結構C++ - 轉換結構爲char
typedef struct zidrecord2 {
char version;
char flags;
char filler1;
char filler2;
unsigned char identifier[IDENTIFIER_LEN];
unsigned char rs1Interval[TIME_LENGTH];
unsigned char rs1Data[RS_LENGTH];
unsigned char rs2Interval[TIME_LENGTH];
unsigned char rs2Data[RS_LENGTH];
unsigned char mitmKey[RS_LENGTH];
}
轉換爲char *
或其他對象,允許再次回滾到我試試這個對象 :
zidrecord2_t* amostra = zidRecord->getRecordData();
const char *recordData = reinterpret_cast<const char*>(zidRecord->getRecordData());
__android_log_print(ANDROID_LOG_INFO, "MyTag", "The value is %s",recordData);
amostra = reinterpret_cast<zidrecord2_t*>(recordData);
__android_log_print(ANDROID_LOG_INFO, "MyTag", "The value is %s",recordData);
但我得到以下錯誤:
error: reinterpret_cast from type 'const char*' to type 'zidrecord2_t* {aka zidrecord2*}' casts away qualifiers
amostra = reinterpret_cast<zidrecord2_t*>(recordData);
我怎樣才能通過這個問題?或以另一種方式實施?
'typedef結構X {}Ÿ;'是C-主義。在C++中,struct名稱沒有自己的名稱空間,所以更喜歡使用較少名稱空間的結構體struct Y {};'。 – molbdnilo