自從我完成C++後,我已經有一段時間了。我有以下結構:關於結構的困惑
struct sPage { U16 _; };
typedef sPage tPage;
但是當我嘗試這樣做:
tPage pagenumber = 0;
我得到以下錯誤:「沒有合適的構造存在於從int轉換爲S頁面」。我究竟做錯了什麼?
自從我完成C++後,我已經有一段時間了。我有以下結構:關於結構的困惑
struct sPage { U16 _; };
typedef sPage tPage;
但是當我嘗試這樣做:
tPage pagenumber = 0;
我得到以下錯誤:「沒有合適的構造存在於從int轉換爲S頁面」。我究竟做錯了什麼?
你需要花括號初始化:
tPage pagenumber = {0};
,或使自己的構造函數:
struct sPage
{
U16 _;
sPage(U16 val) : _(val) { }
};
這樣的隱式構造函數可能會有意想不到的效果,但它們可能值得注意。 –
你忘了括號,同時初始化。做到像
tPage pagenumber = { 0 };
使用大括號初始化'TPAGE頁面編號= {0};' – greatwolf
更容易,'t第頁面編號{};' – chris
你不能說'tPage'是一個整數,而它包含一個整數。這就是你如何使用它,作爲一個聚合而不是標量。 –