5
有些掙扎,我設法得到提高智能指針在警告級別4推動智能指針和BOOST_NO_MEMBER_TEMPLATES
我發現最小電阻的方式來擺脫編譯錯誤和警告的建立爲Windows CE /移動後
#define BOOST_NO_MEMBER_TEMPLATES
這實際上是什麼意思?我把自己的靈魂賣給了魔鬼嗎?當我真的使用的類型時,會全部地獄破散嗎?
有些掙扎,我設法得到提高智能指針在警告級別4推動智能指針和BOOST_NO_MEMBER_TEMPLATES
我發現最小電阻的方式來擺脫編譯錯誤和警告的建立爲Windows CE /移動後
#define BOOST_NO_MEMBER_TEMPLATES
這實際上是什麼意思?我把自己的靈魂賣給了魔鬼嗎?當我真的使用的類型時,會全部地獄破散嗎?
本身不應該有任何不良影響,只是喪失功能。
成員模板是一個成員函數是一個模板,例如:
struct foo
{
template <typename T>
void i_am_not_supported_sometimes(void);
};
所以你沒有得到未定義的行爲或任何東西,你就不能在最通用的方式進行編程的東西。我認爲一個明確的「這個不好的」答案取決於它的用途和解決方法。
看着smart_ptr
,例如,無成員模板版本真的只是取出成員模板,如:
template<class Y>
explicit shared_ptr(Y * p): px(p), pn(p) // Y must be complete
{
boost::detail::sp_enable_shared_from_this(this, p, p);
}
,並取代Y
與T
,使你失去的能力,目前一些自動轉換。