nontype3.c

来自「Mac OS X 10.4.9 for x86 Source Code gcc」· C语言 代码 · 共 38 行

C
38
字号
// { dg-do compile }// Origin: <drow at gcc dot gnu dot org>,//         <giovannibajo at gcc dot gnu dot org>// c++/13243: Template parameters of non integral or enumeration type can't be//  used for integral constant expressions. ADDR_EXPR and INDIRECT_REF are//  invalid too.template <int T> class foo {};template <int *T> class bar {};template <int *PI>void dep5(bar<PI> *);template <int *PI>void dep6(bar<PI+1> *); // { dg-error "" "integral or enumeration" }template <int I>void dep7(bar<I+1> *);template <int *PI>void dep8(foo< *PI > *); // { dg-error "" "integral or enumeration" }template <int PI[1]>void dep9(foo< *PI > *); // { dg-error "" "integral or enumeration" }template <int PI[1]>void dep9a(foo< sizeof(*PI) > *);template <int PI[1]>void dep10(foo< PI[0] > *); // { dg-error "" "integral or enumeration" }template <int I>void dep11(foo< *&I > *); // { dg-error "" "constant-expression" }template <int I>void dep12(foo< (&I)[4] > *); // { dg-error "" "constant-expression" }

⌨️ 快捷键说明

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