boost_no_ded_typename.ipp

来自「C++的一个好库。。。现在很流行」· IPP 代码 · 共 41 行

IPP
41
字号
//  (C) Copyright John Maddock and Dave Abrahams 2002. 
//  Use, modification and distribution are subject to the 
//  Boost Software License, Version 1.0. (See accompanying file 
//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

//  See http://www.boost.org/libs/config for most recent version.

//  MACRO:         BOOST_DEDUCED_TYPENAME
//  TITLE:         deduced typenames
//  DESCRIPTION:   Some compilers can't use the typename keyword in deduced contexts.

#ifndef BOOST_DEDUCED_TYPENAME
#define BOOST_DEDUCED_TYPENAME typename
#endif


namespace boost_deduced_typename{

template <class T>
int f(T const volatile*, BOOST_DEDUCED_TYPENAME T::type* = 0)
{
        return 0;
}

struct X { typedef int type; };

int test()
{
   return f((X*)0);
}

}








⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?