$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
From: Paul Mensonides (pmenso57_at_[hidden])
Date: 2003-01-11 15:32:16
----- Original Message -----
From: "Paul Mensonides" <pmenso57_at_[hidden]>
> 14.3.1/2 [quote--
>
> A local type, a type with no linkage, an unnamed type or a type compounded
> from any of these types shall not be used as a template-argument for a
> template type-parameter.
>
> --end quote]
Incidently, an unnamed type has no linkage. Secondly, even if it is named,
it has internal linkage if it is member of a class with internal linkage:
namespace {
template<class T> struct X {
enum value_t { value = 10 };
};
}
template<class T> void f(const T& ref) {
// ...
return;
}
int main() {
f( X<int>::value ); // error: X::value_t has internal linkage
return 0;
}
Paul Mensonides