instantiate12.c
来自「gcc3.2.1源代码」· C语言 代码 · 共 51 行
C
51 行
// Copyright (C) 2000 Free Software Foundation, Inc.// Contributed by Nathan Sidwell 14 Nov 2000 <nathan@codesourcery.com>// Bug 635. We failed to emit initializer code for out-of-class defined// static const members of template instantiations.static int inited = 0;static bool setFlag(){ inited++; return true;}template<typename T> struct X{ static const bool cflag; static bool flag; static const bool iflag = true; static const bool jflag = true;};template<typename T> const bool X<T>::cflag (setFlag ());template<typename T> bool X<T>::flag (setFlag ());template<typename T> const bool X<T>::iflag;int main (){ X<int> a; if (!a.flag) return 1; if (!a.cflag) return 2; if (!a.iflag) return 3; if (!a.jflag) return 5; if (!X<float>::flag) return 5; if (!X<float>::cflag) return 6; if (!X<float>::iflag) return 7; if (!X<float>::jflag) return 8; if (inited != 4) return 9; return 0;}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?