HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1471  
Старый 27.04.2017, 14:33
ishi
Постоянный
Регистрация: 17.01.2014
Сообщений: 493
С нами: 6483143

Репутация: 93
По умолчанию

C++:





Код:
ofstream
fout
(
"yiffme"
,
ios
::
app
)
;


Объявить это дело глобально при помощи extern не удаётся, в связи с чем вопрос: каким образом объявить fout внутри функции глобальной переменной?
 
Ответить с цитированием

  #1472  
Старый 27.04.2017, 14:56
Dark_Knight
Флудер
Регистрация: 18.03.2013
Сообщений: 4,080
С нами: 6921957

Репутация: 183


По умолчанию

Создавай указатель.
 
Ответить с цитированием

  #1473  
Старый 27.04.2017, 15:12
ishi
Постоянный
Регистрация: 17.01.2014
Сообщений: 493
С нами: 6483143

Репутация: 93
По умолчанию

Цитата:
Сообщение от Dark_Knight  

Создавай указатель.
C++:





Код:
extern
int
*
ptr
=
&
fout
;


выдаёт







Код:





Код:
1>main.cpp(53): error C2205: ptr: невозможно инициализировать внешние переменные с областью видимости блока


Последние три слова мне вообще ничего не говорят ._.

гугл тоже не смог мне помочь. Всё плохо.
 
Ответить с цитированием

  #1474  
Старый 27.04.2017, 15:32
Dark_Knight
Флудер
Регистрация: 18.03.2013
Сообщений: 4,080
С нами: 6921957

Репутация: 183


По умолчанию

Не так надо.

Пример

C:





Код:
в main
.
h
extern
int
*
ptr
;
в main
.
cpp
int
*
ptr
=
nullptr
;
void
main
(
)
{
if
(
!
ptr
)
ptr
=
new
int
;
}
 
Ответить с цитированием

  #1475  
Старый 27.04.2017, 15:42
BlackKnigga
Постоянный
Регистрация: 10.01.2016
Сообщений: 922
С нами: 5441999

Репутация: 133


По умолчанию

Цитата:
Сообщение от Снежок  

У меня такой штуки в "решении" нету. Её создать надо?
Да, и включить в main.cpp
 
Ответить с цитированием

  #1476  
Старый 27.04.2017, 15:54
ishi
Постоянный
Регистрация: 17.01.2014
Сообщений: 493
С нами: 6483143

Репутация: 93
По умолчанию

в main.cpp:







C++:





Код:
int
*
ptr
=
nullptr
;


в main.h:







C++:





Код:
extern
int
*
ptr
;


В void callback mainloop:

C++:





Код:
*
ptr
=
&
fout
;


Ошибка:

Код:





Код:
error C2440: =: невозможно преобразовать "std::ofstream *" в "int"
 
Ответить с цитированием

  #1477  
Старый 27.04.2017, 16:01
BlackKnigga
Постоянный
Регистрация: 10.01.2016
Сообщений: 922
С нами: 5441999

Репутация: 133


По умолчанию

Цитата:
Сообщение от Снежок  

в main.cpp:







C++:





Код:
int
*
ptr
=
nullptr
;


в main.h:







C++:





Код:
extern
int
*
ptr
;


В void callback mainloop:

C++:





Код:
*
ptr
=
&
fout
;


Ошибка:

Код:





Код:
error C2440: =: невозможно преобразовать "std::ofstream *" в "int"

Так ты объявляй ofstream, а не int
 
Ответить с цитированием

  #1478  
Старый 27.04.2017, 16:12
ishi
Постоянный
Регистрация: 17.01.2014
Сообщений: 493
С нами: 6483143

Репутация: 93
По умолчанию

Цитата:
Сообщение от BlackKnigga  

Так ты объявляй ofstream, а не int
main.h

Код:





Код:
extern ofstream *ptr;


main.cpp

C++:





Код:
ofstream
*
ptr
=
nullptr
;


void callback mainloop

C++:





Код:
*
ptr
=
&
fout
;


ошибки:

Код:





Код:
1>main.cpp(17): error C2371: ptr: переопределение; различные базовые типы
1>  c:\users\snezh\documents\visual studio 2013\projects\aa\sfplugin\qwe\main.h(1): см. объявление "ptr"
1>main.cpp(53): error C2440: =: невозможно преобразовать "std::ofstream *" в "int"
1>  Не существует контекста, в котором такое преобразование возможно
1>
 
Ответить с цитированием

  #1479  
Старый 27.04.2017, 16:18
MISTER_GONWIK
Познавший АНТИЧАТ
Регистрация: 09.03.2013
Сообщений: 1,262
С нами: 6935116

Репутация: 183


По умолчанию

Цитата:
Сообщение от Снежок  

C++:





Код:
ofstream
fout
(
"yiffme"
,
ios
::
app
)
;


Объявить это дело глобально при помощи extern не удаётся, в связи с чем вопрос: каким образом объявить fout внутри функции глобальной переменной?
C++:





Код:
// main.cpp
ofstream
fout
(
"yiffme"
,
ios
::
app
)
;
// main.h
extern
ofstream fout
;
 
Ответить с цитированием

  #1480  
Старый 27.04.2017, 16:25
SR_team
Флудер
Регистрация: 26.10.2013
Сообщений: 4,924
С нами: 6603505

Репутация: 183


По умолчанию

Цитата:
Сообщение от Снежок  

невозможно преобразовать "std:fstream *" в "int"
int a = reinterpret_cast(&fout);
 
Ответить с цитированием
Ответ





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.