Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.04.2011, 21:51   #1
tiger()
Пользователь
 
Регистрация: 09.04.2011
Сообщений: 49
Вопрос параметр конструктора взятый с потолка

Ребят, помогите мыслями кто какими может.

Код:
template<class Type, class link, class node>
class Stack
{
        link STACK;
        unsigned int size;
 
        Stack& operator =(const Stack& arg);
-->     Stack(const &Stack);
 
public:
 
        Stack();
        ~Stack();
 
        void push(const Type& value);
        Type pop();
        const Type& look();
        bool empty() const;
        void clear();
};
 
 
template<class Type, class link, class node>
Stack<Type, link, node>::Stack(const& Stack)
{
        Stack x;
        return x;
}
компилятор ругается на выделенную строчку так: error C4430: missing type specifier - int assumed. Note: C++ does not support default-int

в упор не понимаю - откуда параметр int который просит???
tiger() вне форума Ответить с цитированием
Старый 30.04.2011, 22:14   #2
netrino
Участник клуба
 
Аватар для netrino
 
Регистрация: 15.07.2008
Сообщений: 1,933
По умолчанию

Во-первых, нужно const Static& (& после имени типа).
Во-вторых, реализация копирующего конструктора неправильная (в параметрах & опять перед именем типа, а не после, да и тело конструктора тоже неверное).
Насчёт ошибки, компилятор ожидал, что между const и & будет имя типа. В C переменная без типа, неявно имела тип int. Вот он и говорит, что в С++ так нельзя.
netrino вне форума Ответить с цитированием
Старый 01.05.2011, 06:16   #3
tiger()
Пользователь
 
Регистрация: 09.04.2011
Сообщений: 49
По умолчанию

Цитата:
Сообщение от netrino Посмотреть сообщение
Во-первых, нужно const Static& (& после имени типа).
Во-вторых, реализация копирующего конструктора неправильная (в параметрах & опять перед именем типа, а не после, да и тело конструктора тоже неверное).
Насчёт ошибки, компилятор ожидал, что между const и & будет имя типа. В C переменная без типа, неявно имела тип int. Вот он и говорит, что в С++ так нельзя.
толково и понятно, большое спасибо!!
заработало как надо.
tiger() вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Автоматическое преобразование на основе первого аргумента конструктора в вызов самого конструктора jennya Visual C++ 8 03.10.2010 19:03
Сделать блок див взятый в рамку ссылкой Kapitann HTML и CSS 4 14.09.2010 05:52
Параметр конструктора класса = объект этого класса nazavrik Общие вопросы C/C++ 6 14.02.2010 13:48
Параметр конструктора Voody Компоненты Delphi 6 14.12.2009 19:52
TreeView как сделать плдраздел взятый из PoupMenu ??? KWN, lnc Общие вопросы Delphi 2 11.03.2009 15:21