次のコードは、その後、名前空間の内側に配置されている場合は、その動作していないが、名前空間なしでその...細かい作業型形質は、名前空間の内部で動作していないのはなぜ(STD :: enable_if) - C++ 11
http://ideone.com/goJ0Zfは今まで私が見つけることができるすべては、スカラーデータのための「for_all_ele」は名前空間内で検出されていないのテンプレートの特殊です:
template <typename T,typename _F>
inline typename std::enable_if< is_iterable<T>::value >::type
for_all_ele(T&& arr,_F&& fn)
{
for(auto &x:arr)
for_all_ele(x,fn);
}
template <typename T,typename _F>
inline typename std::enable_if< not is_iterable<T>::value >::type
for_all_ele(T&& x,_F&& fn)
{
fn(x);
}
is_iterableは
完全なコードはここにある...その上に定義されています..
[MCVE]をリンク先に設定していても、ご質問ください。これは、リンク内のコードを取り、問題のない部分を取り除くことを意味します。上のコード*は、名前空間の内側と外側の両方で動作します(何もしません)。 – Yakk