static-assert

    -2熱度

    1回答

    我問過一個類似的問題,但現在我想更具體。 我所面臨的問題是,我有一個包含非可複製對象,當有人想用我的接口和他沒有利用好(沒有嘗試使用對象的拷貝構造函數),他將得到一個編譯錯誤將一個對象指向對象而不是他的實際代碼。 所以兩個問題:1。 我可以修復它以某種方式把它指向他原來的代碼行? 2.如果我不能,我怎樣才能把一個static_assert,如果有人竟試圖使用複製c'tor只會發生(我已經嘗試了一些

    8熱度

    2回答

    考慮一下: template <typename T> struct hash { static_assert(false,"Not implemented."); }; struct unhashable {}; template <typename T> auto test(const T &t) -> decltype((*(hash<T> const *)null

    0熱度

    3回答

    如何爲特定類型約束制定static_assert? 目前我只想讓我的模板僅適用於unsigned int類型,但不適用於signed int類型。或者,僅用於整數類型或特定類型名稱。 static_assert(sizeof(int))只提供基於大小的斷言,我不知道如何執行任何額外的檢查。 我在Xcode 4.6.2中使用Clang及其libc++。以下是命令行上的當前編譯器信息。 Apple L

    3熱度

    1回答

    如何static_assert模板類型是C++ 11中的EqualityComparable概念?

    3熱度

    1回答

    我有一個類B派生自類A.聲明一個靜態字段f,並且B可能聲明一個相同名稱的相似字段。以下不工作: struct A { static int f; }; struct B : A { static int f; }; // A::f is different from B::f struct C : A {}; // A::f is the same as C::f BOOST_STATIC_

    2熱度

    2回答

    是否可以寫一個引用'this'指針的靜態斷言?我沒有可用的C++ 11,而BOOST_STATIC_ASSERT不起作用。 struct blah { void func() {BOOST_STATIC_ASSERT(sizeof(*this));} }; 產地: error C2355: 'this' : can only be referenced inside non-st

    0熱度

    1回答

    已引用此問題:Can an enum class be converted to the underlying type?。 在我的代碼有有效: enum class STATE : short { EMPTY, PRESENT, PARTIAL, }; volatile STATE state; 然後我寫了typedef和static_assert: t

    7熱度

    3回答

    我想了解static_assert的用處,並且我想知道它是否可以幫助我強制執行設計,如果是這樣,如何實現。 我有一個通用模板類,它隱藏了自己的實現內部另一個模板類,這是部分專用的基於模板類型的大小。下面是該外觀設計的簡要概述: template <class T, size_t S = sizeof(T)> struct Helper; template <class T> struct

    1熱度

    1回答

    編寫接受謂詞函數的函數(如下面的函數)時;如何確保謂詞函數有效(即返回類型operator()有效)? template <typename Predicate> std::vector<SomeType> SearchList(Predicate func) { std::vector<SomeType> vecResults; for(const auto& someO

    15熱度

    2回答

    我期待在這個源代碼 template<char... digits> struct conv2bin; template<char high, char... digits> struct conv2bin<high, digits...> { static_assert(high == '0' || high == '1', "no bin num!"); stati