我收到了一個轉換錯誤,實際上並不知道如何解決它。C++轉換錯誤:從短int *無效轉換爲short int
我必須使用這些結構,並且不知道如何訪問Date結構權限。 這裏是我的代碼:從GCC
#include <iostream>
#include <string.h>
using namespace std;
struct Date {
short year;
short month;
short day;
};
struct Stuff {
Date birth;
};
struct ListElement {
struct Stuff* person; // Pointer to struct Stuff
struct ListElement* next; // Pointer to the next Element
};
int main() {
short birth_year;
short birth_month;
short birth_day;
cin >> birth_year;
cin >> birth_month;
cin >> birth_day;
ListElement* const start = new ListElement();
ListElement* actual = start;
actual->person = new Stuff();
actual->person->birth.year = new short[sizeof(birth_year)]; // Conversion Error
delete start;
delete actual;
}
錯誤消息:
main.cpp: In function 'int main()':
main.cpp:35:29: error: invalid conversion from 'short int*' to 'short int' [-fpermissive]
actual->person->birth.year = new short[sizeof(birth_year)]; // Conversion Error
錯誤信息在哪裏? – Deduplicator
這段代碼沒有意義。你爲什麼試圖將一個數組分配給一個'short'? –
[請詳細閱讀你的編譯器告訴你的內容](http://ideone.com/poCJJk)!你的標題是錯誤的。你不需要'new()'在那裏。 –