Круговое включение с помощью шаблоновC++

Программы на C++. Форум разработчиков
Anonymous
Круговое включение с помощью шаблонов

Сообщение Anonymous »

Следующий код компилируется идеально:

Код: Выделить всё

// MyFile.h

#ifndef MYFILE_H_INCLUDED
#define MYFILE_H_INCLUDED

template 
class MyClass
{
public:
void MyMethod();
}

#include "MyFile.cpp"

#endif

Код: Выделить всё

// MyFile.cpp

#ifndef MYFILE_CPP_INCLUDED
#define MYFILE_CPP_INCLUDED

#include "MyFile.h"

template 
void MyClass::MyMethod()
{
// ...
}

#endif
Определения других методов и функций могут быть отделены от объявлений таким же образом. Есть ли какие-либо недостатки в использовании этого подхода? Можно ли полагаться на такое поведение?

Подробнее здесь: https://stackoverflow.com/questions/546 ... -templates

Вернуться в «C++»