Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Для новичков > Stack - не компилируется программа


Автор: stat007 2.10.2009, 18:33
Читаю сейчас С++Страуструп 3 издание, там в главе 2.4 приведена программа, точнее её кусок, на тему стеки и пространства имён, но почемуто она не компилируется, почему???
Код

#include<iostream>
using namespace std;
namespace Stack
{
    void push(char);
    char pop();
}
void f()
{
    Stack::push('c');
    if(Stack::pop()!='c')
        cout<<"Not!!!"<<endl;
}
int main()
{
    f();
    return 0;
}

Автор: zim22 2.10.2009, 18:42
она компилируется. она не линкуется.
тел функций нет.
Цитата(stat007 @  2.10.2009,  18:33 Найти цитируемый пост)
Читаю сейчас С++Страуструп 3 издание

мне кажется тебе рано читать Страуструпа.

Автор: stat007 2.10.2009, 18:46
zim22, как это нету тела функции? а это что??
Код

void f()
{
    Stack::push('c');
    if(Stack::pop()!='c')
        cout<<"Not!!!"<<endl;
}

Сделай тогда так, чтобы она скомпилировалась......

Автор: GoldFinch 2.10.2009, 19:06
Цитата(stat007 @  2.10.2009,  19:46 Найти цитируемый пост)
Сделай тогда так, чтобы она скомпилировалась...... 

олололо

Автор: Cheloveck 2.10.2009, 19:08
Цитата(stat007 @  2.10.2009,  19:46 Найти цитируемый пост)
zim22, как это нету тела функции? а это что??

это использование. где реализация функций push и pop?

Автор: zim22 2.10.2009, 19:25
Цитата(stat007 @  2.10.2009,  18:46 Найти цитируемый пост)
Сделай тогда так, чтобы она скомпилировалась......

абра-кадабра, сим-салабим, компилируйся!  smile 

Автор: Cheloveck 2.10.2009, 19:35
Цитата(zim22 @  2.10.2009,  20:25 Найти цитируемый пост)
абра-кадабра, сим-салабим, компилируйся!  smile  

хм... я обычно другим заклинанием пользуюсь... Надо это попробовать smile

Автор: Леопольд 2.10.2009, 21:40
Цитата(stat007 @  2.10.2009,  18:33 Найти цитируемый пост)
Читаю сейчас С++Страуструп

Почитай что-нибудь попроще. Страуструпа читать слишком рано. Сам я первой книгой читал Подбельского, потому её советовать не буду. Запомнилась почему-то фамилия http://www.google.ru/search?hl=ru&newwindow=1&q=c%2B%2B+%D0%B4%D0%BB%D1%8F+%D0%BD%D0%B0%D1%87%D0%B8%D0%BD%D0%B0%D1%8E%D1%89%D0%B8%D1%85+%D0%BB%D0%B8%D0%BF%D0%BF%D0%BC%D0%B0%D0%BD&btnG=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA&lr=&cts=1254508700022&aq=f&oq= необычная видимо smile

А не линкуется потому что в коде отсутствуют определения функций Stack::push и Stack::pop, и по всей видимости, определения этих функций также отсутствуют в других модулях.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)