| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > не компилит << для string |
| Автор: Syberex 15.2.2007, 17:16 | ||
Вот такая ерунда ,
это чудестно компилится на Borland 6 , но в Borland Developer Studio 2006 строчка cout<<u<<endl; не компилится и пишет: [C++ Error] Universal.cpp(229): E2094 'operator<<' not implemented in type 'ostream' for arguments of type 'string' что это такое? и как от этого избавится? |
| Автор: TaNK 15.2.2007, 17:26 | ||||
ругается на << может попробуешь без вторых << обойтись |
| Автор: Syberex 15.2.2007, 17:29 |
| он и без второй всё равно ругается |
| Автор: profispb 15.2.2007, 17:32 |
| Тогда перегрузка оператора << |
| Автор: Syberex 15.2.2007, 17:35 |
| чёто не понял, как это перегрузить оператор ввода вывода, он ведь от меня не зависит, по крайней мере тут. |
| Автор: profispb 15.2.2007, 17:37 |
| У меня была проблема, только с классом вот помогла только перегрузка оператора << |
| Автор: Syberex 15.2.2007, 17:40 |
| а примерчик скинешь? |
| Автор: profispb 15.2.2007, 17:44 |
| Давно было. года 2-а назад, щас уже и не вспомню. Посмотри в любой книге по программированию на С++ или в нете. Тебе стандартная перегрузка нужна есть в любой книге. |
| Автор: Syberex 15.2.2007, 17:55 |
| я слабо представляю перегрузку << , это тут даже не уместно. |
| Автор: Fazil6 15.2.2007, 17:59 |
| что за тип string ? не может быть, чтобы std::cout не понимал std::string |
| Автор: Xenon 15.2.2007, 18:32 | ||
Ну конечно глобально можно так:
Но по-любому хрень - std::string работает с << |
| Автор: _stranger_ 15.2.2007, 18:50 | ||
сильно сомневаюсь, но может все-таки:
|
| Автор: V.A.KeRneL 15.2.2007, 21:29 | ||||||
Блин, по-моему, _stranger_ прав:
З.Ы. А имхо, всё-таки, лучше так:
Писать чуть побольше, зато философски правильнее и даже в большой программе (с многими пространствами имён) путаницы не будет. А если уж неймётся непременно сделать «юзинг», то лучше каждую переменную по отдельности заносить:
Не ленитесь больше, чем нужно, и проблем будет меньше. |
| Автор: vinter 15.2.2007, 23:38 | ||
а это
зачем?? |
| Автор: V.A.KeRneL 16.2.2007, 00:10 |
| На всякий пожарный. З.Ы. Syberex, если проблема решена, не забудь пометить тему как решённую. |
| Автор: Syberex 16.2.2007, 09:25 | ||||
| всё что вы снаписали чудестно работает в Borland 6, а Borland Developer Studio 2006 ругается на << но только для стринг, если там вывод char то всё работает, а string не хочет. Не работает!
Работает!
всё перепробовал, но от этого избавится не удалось [C++ Error] Universal.cpp(229): E2094 'operator<<' not implemented in type 'ostream' for arguments of type 'string' как быть? Добавлено @ 09:33 а это справка его, что он хочет от меня не пойму: Operator 'operator' not implemented in type 'type' for arguments of type 'type' (E2094) The operator you are calling is not defined in this class. When you have an expression: x + x, where x is of type class X, the operator + has to be defined in class X and be accessible. |
| Автор: Syberex 16.2.2007, 10:01 | ||||
эта штука работает, но как обойтись без перегрузки оператора? |
| Автор: V.A.KeRneL 16.2.2007, 10:18 |
| Использовать другую среду разработки или поставить другую версию этой. Обойтись в текущей версии без данной перегрузки оператора, похоже, не удастся, потому что компилер, как раз-таки, и ругается на её (перегрузки) отсутствие. |
| Автор: Syberex 16.2.2007, 10:33 |
| версию врятли, она самая свежая, но я не думаю что программеры забыли << её туда включить, наверно как по другому делается без перезагрузки, может что то включить или инициализировать, а перегрузка,это крайний выход. |
| Автор: Fazil6 16.2.2007, 10:53 | ||||
тебе же сказали, что включить
проверь подключен ли у тебя string |
| Автор: Syberex 16.2.2007, 11:02 | ||
подключён был всё время
от этого ничего не поменялось |
| Автор: Fazil6 16.2.2007, 11:08 | ||
| ну и где он подключен?????? и вообще, на кой ты эти старые хедеры повтыкал ? досконально не разбирался, но должно быть так
|
| Автор: Vyacheslav 16.2.2007, 11:09 | ||||
Надо
|
| Автор: Syberex 16.2.2007, 11:33 | ||||
ну растолкуйте , действительно , без h работает! , в чём же прикол ? так пашет
а так категорически не видит мой <<
в чём прикол??? в чём разница??? это же ведь одно и тоже |
| Автор: Fazil6 16.2.2007, 12:13 | ||
с чего ты взял? Это не одно и тоже |
| Автор: profispb 16.2.2007, 14:21 |
| Когда я учился на С++ в тереме наш препод говорил что оператор <<, лучше всего перегружать, ошибок меньше да и головной боли. |
| Автор: Xenon 16.2.2007, 14:50 |
| Ну блин, ты подключаешь, на сколько я понимаю, С`ишный заголовочный файл. А в C же не было потоков и всяких << |
| Автор: vinter 16.2.2007, 17:37 |
| сишный string.h, в плюсах cstring |
| Автор: Rockie 16.2.2007, 19:04 |
| Syberex, гдее?.. |