|
1 / 1 / 0
Регистрация: 10.08.2008
Сообщений: 65
|
|||||||
Почему не может быть такой функции?04.09.2008, 15:54. Показов 4830. Ответов 21
Метки нет (Все метки)
ofstream input_file(str1) ; такой строкой кода я открываю файл.
ofstream - тип обекта input_file - обект типа ofstream а тепрь я хочу открывать файл в другом месте программы использую функцию, а в место вызова возвращать объект типа ofstream так почему же не компилируется моя функция?
0
|
|||||||
| 04.09.2008, 15:54 | |
|
Ответы с готовыми решениями:
21
Подскажите как может быть устроен такой датчик...
|
|
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
|
|
| 04.09.2008, 17:31 | |
|
Компилер тебе, похоже, намекает, что у тебя redefinition одной и той же функции. И отличаются они только возвращаемыми значениями. Почмотри свой код, может, она еще где объявлена с void.
0
|
|
|
1 / 1 / 0
Регистрация: 10.08.2008
Сообщений: 65
|
|
| 04.09.2008, 17:39 [ТС] | |
|
вобще не то я здесь написал совершенно другие куски кода
0
|
|
|
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
|
|
| 04.09.2008, 18:17 | |
|
Теперь ты че-то пытаешься сделать со своим стримом (типа присваивания, или создания из другого стрима), для чего нужно вызвать конструктор копирования, а он не объявлен. Че-то в этим роде. Но связи с этим куском кода не вижу...
0
|
|
|
1 / 1 / 0
Регистрация: 10.08.2008
Сообщений: 65
|
|||||||
| 04.09.2008, 18:35 [ТС] | |||||||
|
извиняюсь сейчас у меня такой код и такие ошибки:
0
|
|||||||
|
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
|
|
| 04.09.2008, 18:41 | |
|
Видимо, компилер не знает, что такое "ofstram"... Может, ты хотел ему сказать "ofstream"?
1
|
|
|
1 / 1 / 0
Регистрация: 10.08.2008
Сообщений: 65
|
||||||||
| 04.09.2008, 18:45 [ТС] | ||||||||
![]() ![]() Добавлено через 3 минуты 36 секунд ага не знает))))) вот такой из меня прграммист. текущее состояние -
0
|
||||||||
|
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
|
||||||
| 04.09.2008, 18:56 | ||||||
|
Я, конечно, фиг знает. Но, по-моему, не нормально пытаться возвращать объект из функции. Он, видимо, на return хотел бы выполнить конструктор копирования, но его нет.
Попробуй с указателем сделать:
Добавлено через 5 минут 34 секунды Я убрал строки, так как, твой вышеприведенный код должен всегда выводить ERROR. У нас же блок уже вне условия...
0
|
||||||
|
1 / 1 / 0
Регистрация: 10.08.2008
Сообщений: 65
|
||||||
| 04.09.2008, 19:29 [ТС] | ||||||
|
не не всегда, почему это всегда???
"Но, по-моему, не нормально пытаться возвращать объект из функции. Он, видимо, на return хотел бы выполнить конструктор копирования, но его нет." почему же не нормально? ведь int, double, и особенно CString тоже обекты. например такая функция может быть -
0
|
||||||
|
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
|
|
| 04.09.2008, 19:32 | |
|
Блин, это в принципе, идеологически не нормально. Ты не думаешь, что объект ты создаешь внутри функции? По сути, ты пересоздаешь еще объект для внешнего мира. У тебя объект-то локальный. Подумай-ка, а...
0
|
|
|
1 / 1 / 0
Регистрация: 10.08.2008
Сообщений: 65
|
|||||||
| 04.09.2008, 19:32 [ТС] | |||||||
0
|
|||||||
|
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
|
||||||
| 04.09.2008, 19:40 | ||||||
|
код с использованием указателей работает в несколько раз быстрее, так как, не вызывает никакого копирования и прочих операций над объектами.
Добавлено через 4 минуты 13 секунд Блин, кто ж так объекты создает?! ![]()
0
|
||||||
|
1 / 1 / 0
Регистрация: 10.08.2008
Сообщений: 65
|
||||||||||||
| 04.09.2008, 19:42 [ТС] | ||||||||||||
Всё что внутри функции локального характера. для этого и нужен ретёрн - он выводит информацию во внешний мир.
0
|
||||||||||||
|
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
|
||||||
| 04.09.2008, 19:48 | ||||||
|
Я прям даже и не знаю. Влом объяснять то, что вы должны сами читать.
Ты пойми! Объект у тебя локальный! Как ты его из функции выведешь?! Никак. ТОлько конструктор копирования будет копировать все части твоего объекта во внешнюю переменную. А если его нет? Или он закрытый для нас. То некому. Вообще, нафига таким кривым идти? Указатели все делают гладко... Смотри, блин, сюда внимательно! Пиши этот код:
1
|
||||||
|
1 / 1 / 0
Регистрация: 10.08.2008
Сообщений: 65
|
|||||||
| 04.09.2008, 19:50 [ТС] | |||||||
![]() ![]() ![]()
0
|
|||||||
|
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
|
||||||
| 04.09.2008, 19:55 | ||||||
|
Блин, голову включи! Как он ее выводит?!?!?! Если это разные переменные?! Он копирует! Он копирует все из внутренней во внешнюю через конструктор копирования. Тьфу, блин. Читай книжки.
Код с указателями работает. Доказывать очевидное надоело... Что-нибудь еще? Добавлено через 49 секунд Боже, создай через new, пожалуйста...хоть конструктор нормально вызовешь... ![]() Добавлено через 1 минуту 48 секунд Блин, а вот теперь измени в предыдущем моем коде на:
0
|
||||||
|
1 / 1 / 0
Регистрация: 10.08.2008
Сообщений: 65
|
||
| 04.09.2008, 19:56 [ТС] | ||
|
тогда все споры отпадут. я и сам понимаю что мне книжки нужно чиатать! я их и читаю.
0
|
||
|
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
|
|
| 04.09.2008, 19:58 | |
|
Ты издеваешься надо мной? Я ж те написал. На предыдущей странице.
0
|
|
|
1 / 1 / 0
Регистрация: 10.08.2008
Сообщений: 65
|
|
| 04.09.2008, 20:10 [ТС] | |
|
по правде говоря нет.
ладно спасибо за помощь когда разберусь в твоих примерах напишу)
0
|
|
|
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
|
|
| 04.09.2008, 20:11 | |
|
Разберись уж
0
|
|
| 04.09.2008, 20:11 | |
|
Помогаю со студенческими работами здесь
20
Что за баг может быть такой в VLC Player 2.1.2? Нужен такой калькулятор, самый простой код, который только может быть Почему такой бредовый вывод типов и как с этим быть? Почему может не быть индекса? Почему движок wordpress может быть плох Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым.
Но восстановить их можно так.
Для этого понадобится консольная утилита. . .
|
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
|
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
|
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11
— это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
|
|
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11
Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
|
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
|
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/
O1rJuneU_ls
https:/ / vkvideo. ru/ video-115721503_456239114
|
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ВВЕДЕНИЕ
Введу сокращения:
аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
|