M
mlimber
I am using VC++ 6 (sp6) and cannot change compilers. I have something
akin to this code:
#include <iostream>
using namespace std;
template<int i>
struct Int2Type
{
enum { value = i };
};
struct Foo
{
template<int i>
void Bar()
{
cout << i << endl;
}
// Ugly work-around
template<int i>
void Baz( const Int2Type<i>& )
{
cout << i << endl;
}
};
int main()
{
Foo f;
f.Bar<42>(); // Error here
f.Baz( Int2Type<42>() );
return 0;
}
The error message is: "error C2059: syntax error : ')'". I can use the
ugly work-around with Int2Type that is shown, but I would much prefer
something simpler and more aesthetically pleasing. Any ideas?
Cheers! --M
akin to this code:
#include <iostream>
using namespace std;
template<int i>
struct Int2Type
{
enum { value = i };
};
struct Foo
{
template<int i>
void Bar()
{
cout << i << endl;
}
// Ugly work-around
template<int i>
void Baz( const Int2Type<i>& )
{
cout << i << endl;
}
};
int main()
{
Foo f;
f.Bar<42>(); // Error here
f.Baz( Int2Type<42>() );
return 0;
}
The error message is: "error C2059: syntax error : ')'". I can use the
ugly work-around with Int2Type that is shown, but I would much prefer
something simpler and more aesthetically pleasing. Any ideas?
Cheers! --M