|
1 / 1 / 0
Регистрация: 10.08.2008
Сообщений: 65
|
|||||||
Почему не может быть такой функции?04.09.2008, 15:54. Показов 4875. Ответов 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 может быть плох Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ВВЕДЕНИЕ
Выполняя задание на управление насосной группой заполнения резервуара,. . .
|
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение:
В этой книге («Подход, основанный на вариантах использования») Ивар утверждает,
что архитектура программного обеспечения — это
структуры,. . .
|
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога
Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
|