Only integral constant expressions, and the address of global variables with external linkage, may be used as template arguments. For example:
template<char *x> class foo; const char *p = "Hello"; extern char *q; foo<p> x;// OK: "p" is visible to the outside foo<q> y;// OK: "q" is also globally visible foo<"Hello"> z;// error: string literal has static linkage
Copyright(C) 2009 Embarcadero Technologies, Inc. All Rights Reserved.
|
What do you think about this topic? Send feedback!
|