У меня есть два класса A и B, и мой код C++ выглядит следующим образом:
class A
{
int k;
public:
//Some functions
operator B()
{
B alpha;
alpha.x=k;
alpha.y=0;
return alpha;
}
};
class B
{
int x,y;
public:
//Some functions
operator A()
{
A play;
play.k=x;
return play;
}
};
Однако при выполнении этого я столкнулся с проблемой (я написал правильный main). Он показывает сообщение об ошибке: Ожидаемый спецификатор типа перед B
Я думал, что проблема связана с размещением класса A перед B. Однако, когда я изменил это, т.е. поместил класс B перед A, появилось сообщение об ошибке того же типа: Ожидаемый спецификатор типа перед A em>
Как мне решить эту проблему (я имею в виду, пожалуйста, предложите изменения в коде, чтобы он работал)? Мне нужно использовать литье крестового типа в своей работе.
(Я пробовал это с двумя компиляторами, Code::Blocks (13.12) и MinGW (w64). Но в обоих случаях отображается одно и то же сообщение)