При компиляции приведенного ниже кода с помощью gcc я получаю сообщение об ошибке: 'i' не может появляться в константном выражении.
Почему это?
#include <iostream>
using namespace std;
template<int p>
class C
{
public:
void test();
};
template<int p>
void C<p>::test()
{
p = 0;
}
char const *const p = "hello";
int main()
{
const int i = (int)p;
C<i> c;
}
p = 0
. - person Kirill Kobelev   schedule 16.08.2012