Почему не работает

Компьютеры программирование программы windows С++

#include "stdafx.h"
#include <iostream>

struct stack
{
char mas [100];
int top;
stack (*f)(stack a);
};

//stack (*f)(stack a);

stack add(stack a)
{
int i;
a.mas[a.top]=a.top+48;
a.top=a.top+1;
for (i=0;i<a.top;i++)
{
std::cout<<a.mas[i]<<" ";
}
std::cout<<'\n';
return a;
}
stack take(stack a)
{
int i;
a.mas[a.top]=0;
a.top=a.top-1;
for (i=0;i<a.top;i++)
{
std::cout<<a.mas[i]<<" ";
}
std::cout<<'\n';
return a;
}


int _tmain(int argc, _TCHAR* argv[])
{
stack a;
a.top=0;
a.f=add;
a=a.f(a);
a=a.f(a);
a=a.f(a);
a=a.f(a);

a.f=take;
a=a.f(a);
a=a.f(a);
a=a.f(a);
a=a.f(a);

return 0;
}



Примечание:
Плисссс
Оч надо

Примечание:
та пишет невозможно преобразовать.....
здесь a.f=add;

Примечание:
Ооооооооооооооооооооооооооооооогромное ппппппппппппппппппппппппаааааааааааааааааасиба
Ответы:
да все работает! добавляет, убирает, при переполнении выкидывает необработанное исключение. только что-то мне подсказывает, что тебе что-то другое нужно.
#include "stdafx.h"
#include <iostream>


12 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.