Const int passed to a templated method
Angelo Calafato
angelo.calafato@gmail.com
Thu Sep 28 15:21:00 GMT 2006
2006/9/28, Benjamin Kosnik <bkoz@redhat.com>:
>
> > class Display
> > .....
> This is not the correct list for this type of question. Instead, I
> suggest you read "Modern C++ Design" by Andrei Alexandrescu. He also
> has a useful website: I suggest you look at it.
>
> That said:
>
> class display_policy_type1
> {
> void process() { std::cout << "Type1\n"; }
> };
>
> class display_policy_type2
> {
> void process() { std::cout << "Type2\n";
> };
>
> template<typename Policy>
> class display : public Policy { };
>
> is the usual design.
>
> -benjamin
>
Thanks Benjamin for the reply and the suggestions. My doubts are not on
the design but in the logic of gcc and templates in general. In particular
I don't understand why in the templated version of my code the instruction
DisplayTraits<_t>::process();
do not works (_t is a const int declared as private member variable) while
DisplayTraits<t>::process();
works correctly (t is a const int declared inside the main() ).
In fact I do not want to declare Display as template since the function
f() must remain with its syntax.
I don't know if this is the correct mailing list but I thought that this
prolem could address well in standard c++ implementation related questions.
- Angelo
More information about the Libstdc++
mailing list