5,531
社区成员
发帖
与我相关
我的任务
分享
#include <iostream>
using namespace std;
template<int* ptr>
int fun(){return *ptr;}
int Ia = 1;
int main()
{
int Ib = 1;
static int Ic = 1;
fun<&Ia>(); // 通过编译
fun<&Ib>(); // Ia不是全局变量,也不是静态变量,因此它的地址只有运行期才知道,
// 而模板参数必须要在编译期就知道
fun<&Ic>(); // 也不能通过编译??????不符合5楼的描述
return 0;
}