下面的代码演示了我无法解释的gcc4.6.2行为。第一个函数声明一个vec_t类型的静态数组,其中vec_t是unsignedchar的typedef别名。第二个函数是相同的,除了vect_t的类型是一个模板参数。第二个函数无法编译并出现诊断“错误:‘bitVec’的存储大小不是常量”。#includevoidbitvec_func(){conststd::size_tnbits=1e7;typedefunsignedcharvec_t;conststd::size_tWLEN=std::numeric_limits::digits;conststd::size_tVSIZ=nbits