Я использую компилятор G ++. Я написал следующий код, который имеет определение класса шаблонов. Класс имеет тип данных struct, называемый узлом, который имеет элементы A и B общего типа. В классе есть одна функция, называемая печати, которая печатает P.H, где P является переменной типа узла объекта класса. Компилятор не показывает никаких ошибок, хотя «H» не является элементом узела структуры. Почему это? < /P>
#include
#include
using namespace std;
template
class mc
{
typedef struct node
{
e a,b;
}node;
node p;
public:
void print();
};
template
void mc::print()
{
std::cout<
}
int main()
{
mc m;
//m.print();
return(0);
}
< /code>
Компилятор показывает ошибку только тогда, когда m.print () неуместна в основном. Почему это?
Подробнее здесь: https://stackoverflow.com/questions/240 ... late-class