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


Автор: koljan 14.1.2006, 21:54
Код


#include <iostream.h>
vector<Entry>phone_book(1000);
void print_entry(int i)
{
  cout<<phone_book[i].name<<''<<phone_book[i].number<<'\n';
}
void add_entries(int i)
{
phone_book.resize(phone_book.size()+n);
}


Автор: MAKCim 14.1.2006, 22:09
а что не понятно?
вектор из 1000 Entry, вывод элементов вектора, изменение размера

Автор: koljan 14.1.2006, 22:23
Info :Compiling C:\BC5\BIN\noname00.cpp
Error: noname00.cpp(2,2):Declaration syntax error
Error: noname00.cpp(5,20):Undefined symbol 'phone_book'
Error: noname00.cpp(5,29):Character constant must be one or two characters long
Warn : noname00.cpp(6,2):Parameter 'i' is never used
Error: noname00.cpp(9,12):Undefined symbol 'phone_book'
Error: noname00.cpp(9,39):Undefined symbol 'n'
Warn : noname00.cpp(10,2):Parameter 'i' is never used

Автор: Dray 14.1.2006, 22:37
Вроде как vector не подключен. Надо еще:
Код

#include <vector>
using namespace std;

Автор: DeadSoul 14.1.2006, 22:38
Код именно такой?
1. Не описана стуктура\класс Entry
2. В функции add_entries есть параметр i, а используется некоторая переменная n
Добавлено @ 22:39
P.S. smile Выкинь твой компилятор на помойку. Возьми что-нибудь по новее

Автор: koljan 14.1.2006, 22:46
Цитата

P.S.  Выкинь твой компилятор на помойку. Возьми что-нибудь по новее


что предложишь?


Код

#include <iostream.h>
#include <vector>
using namespase std;
vector<Entry>phone_book(1000);
void print_entry(int i)
{
  cout<<phone_book[i].name<<''<<phone_book[i].number<<'\n';
}
void add_entries(int i)
{
phone_book.resize(phone_book.size()+n);
}



Info :noname00.cpp: out of date with destination noname00.obj
Info : noname00.cpp: source date 22:43:22 14.01.2006 destination date <unknown>
Info :Compiling C:\BC5\BIN\noname00.cpp
Error: noname00.cpp(3,11):Invalid use of namespace 'namespase'
Error: noname00.cpp(4,8):Declaration syntax error
Error: noname00.cpp(7,20):Undefined symbol 'phone_book'
Error: noname00.cpp(7,29):Character constant must be one or two characters long
Warn : noname00.cpp(8,2):Parameter 'i' is never used
Error: noname00.cpp(11,12):Undefined symbol 'phone_book'
Error: noname00.cpp(11,39):Undefined symbol 'n'
Warn : noname00.cpp(12,2):Parameter 'i' is never used

Автор: DeadSoul 14.1.2006, 22:50
Цитата(koljan @ 14.1.2006, 22:46 Найти цитируемый пост)

Цитата
P.S.  Выкинь твой компилятор на помойку. Возьми что-нибудь по новее
что предложишь?

Ох, начнется священная война. Посмотри MS VC 2003(она MS Visual Studio 7.1) или 8-ую студию от MS. Лицензионная стоит конечно много...

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

Автор: Void 14.1.2006, 22:52
koljan
Опечатка в ключевом слове "namespace" - это раз.
Пустая строка в C++ - это "", а не ''.

Про то, что надо определить Entry уже говорили.

Автор: koljan 14.1.2006, 22:57
borland c++ v5.5 не подходит?


а ещё что-нибудь
Добавлено @ 23:10
Цитата

Пустая строка в C++ - это "", а не ''.


в книге ''

Цитата

Опечатка в ключевом слове "namespace" - это раз


исправил

Цитата

Про то, что надо определить Entry уже говорили

Код

struct Entry {
    string name;
    int number;
};


всё как в книге а ошибки такие:
Info :noname00.cpp: build due to .OBJ dependency noname00.cpp
Info : noname00.cpp: cached age 23:00:23 14.01.2006 file age 23:08:21 14.01.2006
Info :Compiling C:\BC5\BIN\noname00.cpp
Error: noname00.cpp(5,16):Type name expected
Error: noname00.cpp(5,16):Declaration missing ;
Error: noname00.cpp(11,27):'name' is not a member of 'Entry'
Warn : noname00.cpp(12,2):Parameter 'i' is never used
Warn : noname00.cpp(16,2):Parameter 'i' is never used

Автор: DeadSoul 14.1.2006, 23:18
koljan, приведи новый код полностью

Цитата(koljan @ 14.1.2006, 22:57 Найти цитируемый пост)

borland c++ v5.5 не подходит?

Насколько я понимаю это всего лишь update версии 5.0. Если это так, то это всего лишь более новое старье

Автор: koljan 14.1.2006, 23:23
Код

#include <iostream.h>
#include <vector>
using namespace std;
struct Entry {
    string name;
    int number;
};
vector<Entry>phone_book(1000);
void print_entry(int i)
{
  cout<<phone_book[i].name<<""<<phone_book[i].number<<'\n';
}
void add_entries(int i)
{
phone_book.resize(phone_book.size());
}



Info :Compiling C:\BC5\BIN\noname00.cpp
Error: noname00.cpp(5,16):Type name expected
Error: noname00.cpp(5,16):Declaration missing ;
Error: noname00.cpp(11,27):'name' is not a member of 'Entry'
Warn : noname00.cpp(12,2):Parameter 'i' is never used
Warn : noname00.cpp(16,2):Parameter 'i' is never used

Автор: Void 14.1.2006, 23:29
добавить #include <string>

Автор: koljan 14.1.2006, 23:31
Info :Compiling C:\BC5\BIN\noname00.cpp
Warn : string.h(549,3):Functions containing for are not expanded inline
Warn : string.h(557,3):Functions containing while are not expanded inline
Warn : string.h(563,3):Functions containing for are not expanded inline
Warn : string.h(575,3):Functions containing for are not expanded inline
Warn : string.cc(686,32):Comparing signed and unsigned values
Warn : noname00.cpp(17,2):Parameter 'i' is never used
Warn : vector.h(438,1):Comparing signed and unsigned values
Warn : vector.h(440,1):Comparing signed and unsigned values
Warn : vector.h(484,1):Comparing signed and unsigned values
Warn : vector.h(486,1):Comparing signed and unsigned values
Info :Linking C:\BC5\BIN\NONAME00.exe
Error: Error: Unresolved external '_main' referenced from C:\BC5\LIB\C0X32.OBJ

Автор: Void 14.1.2006, 23:36
smile

koljan, зачем ты копируешь пример из Страуструпа, если даже не понимаешь, что он должен делать? Может, стоит начать с чего попроще?

Добавь функцию int main() { return 0; }, ругаться перестанет, но работать не начнет.

Автор: koljan 15.1.2006, 16:36
создаю стандартный проект win32 console ничего не меняю

Deleting intermediate files and output files for project '3', configuration 'Release|Win32'.
Compiling...
stdafx.cpp
WINVER not defined. Defaulting to 0x0501 (Windows XP and Windows .NET Server)
3.cpp
WINVER not defined. Defaulting to 0x0501 (Windows XP and Windows .NET Server)
Generating Code...
Compiling resources...
Linking...
LINK : warning LNK4089: all references to 'OLEAUT32.dll' discarded by /OPT:REF
LINK : warning LNK4089: all references to 'USER32.dll' discarded by /OPT:REF

Build log was saved at "file://c:\Documents and Settings\koljambo\Мои документы\Visual Studio Projects\3\3\Release\BuildLog.htm"
3 - 0 error(s), 2 warning(s)


---------------------- Done ----------------------

Rebuild All: 1 succeeded, 0 failed, 0 skipped



smile

Автор: Void 15.1.2006, 17:03
koljan Ты по английски разумеешь? Тебе пишут, что все ОК, проект успешно собран.

Автор: koljan 15.1.2006, 22:41

WINVER not defined. Defaulting to 0x0501 (Windows XP and Windows .NET Server)
3.cpp
WINVER not defined. Defaulting to 0x0501 (Windows XP and Windows .NET Server)
Generating Code...
Compiling resources...
Linking...
LINK : warning LNK4089: all references to 'OLEAUT32.dll' discarded by /OPT:REF
LINK : warning LNK4089: all references to 'USER32.dll' discarded by /OPT:REF


а это что значит? особенно WINVER not defined. Defaulting to 0x0501 (Windows XP and Windows .NET Server)

Автор: Void 15.1.2006, 22:46
koljan Ничего, на что тебе сейчас стоит обращать внимание.

Автор: koljan 15.1.2006, 22:50
большое спасибо за помощь

P.S. чтобы я без вас делал smile

Автор: chipset 15.1.2006, 22:50
Цитата(koljan @ 15.1.2006, 12:41 Найти цитируемый пост)

это что значит? особенно WINVER not defined. Defaulting to 0x0501 (Windows XP and Windows .NET Server)

Ничего особенного. Версия твоей ОС не была обьявлена явно такша они просто подумали что у тебя XP или Server.

Автор: threef 16.1.2006, 20:37
Почитай F1 к своему Борланду, там наверняка vector отличается, например, количеством обязательных параметров шаблона.

Автор: koljan 22.1.2006, 14:23
Цитата(threef @ 16.1.2006, 20:37 Найти цитируемый пост)

Почитай F1 к своему Борланду, там наверняка vector отличается, например, количеством обязательных параметров шаблона.



я это на vc.net компилировал причём тут борланд

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