boost::any;
Далее в двух других заголовочных файлов я хочу использовать forward declaration:
class MyItem;
В итоге я получаю ошибку при компиляции с указанием на заголовочный файлл с определнием MyItem с сообщением
Typedef redefinition with different types ('boost::any' vs 'my::name::space::MyItem')
и
Previous definition is here
который указывает на файл с forward declaration.
А почему так? Совершенно мне неочевидно. Ну или где прочитать?
Это недопустимо, наружение ODR
ЧТо тебе посоветовать почитать -- даже не знаю. Это всё равно что скажем ты говоришь -- я -- лётчик, а потом -- я жаба.
Обсуждают сегодня