Другое С/С++ Вопрос - Ответ

ishi

Известный
493
110
У меня вопрос. Таким образом я могу преобразовать чар в строку для одной конкретной функции, чтобы не выделять переменную?
Если нет, то что я делаю таким образом?
SF->getSAMP()->getChat()->AddChatMessage(555555, "%s", string(command))
 

MISTER_GONWIK

Всефорумный гонщик
Всефорумный модератор
1,259
1,737
У меня вопрос. Таким образом я могу преобразовать чар в строку для одной конкретной функции, чтобы не выделять переменную?
Если нет, то что я делаю таким образом?
SF->getSAMP()->getChat()->AddChatMessage(555555, "%s", string(command))
C++:
SF->getSAMP()->getChat()->AddChatMessage(555555, "%s", string(command).c_str())
 
  • Нравится
Реакции: ishi

ishi

Известный
493
110
В уроке по рендеру через SF API показывали работу с рендером directX (как я понял), и у меня вот вопрос возник: это для какой версии dx?
И ещё. Если я разберусь в сдк, например, 12-го dx, смогу ли я через SF рендерить на нём, используя его SDK?
 

MISTER_GONWIK

Всефорумный гонщик
Всефорумный модератор
1,259
1,737
В уроке по рендеру через SF API показывали работу с рендером directX (как я понял), и у меня вот вопрос возник: это для какой версии dx?
И ещё. Если я разберусь в сдк, например, 12-го dx, смогу ли я через SF рендерить на нём, используя его SDK?
directx 9, нет
 

ishi

Известный
493
110
Как создать поток, если необходимый для CWinThread header просто ломает код и создаёт ошибки, а std:thread не хочет работать, аргументируя тем, что "thread не является членом std"?
 

Dark_Knight

Me, me and me.
Друг
4,056
2,074
Как создать поток, если необходимый для CWinThread header просто ломает код и создаёт ошибки, а std:thread не хочет работать, аргументируя тем, что "thread не является членом std"?
Только, если тебе нужно в потоке менять данные которые ты передаешь, то надо передавать ссылки через std::ref.
 
  • Нравится
Реакции: ishi

ishi

Известный
493
110
C++:
ofstream fout("yiffme", ios::app);
Объявить это дело глобально при помощи extern не удаётся, в связи с чем вопрос: каким образом объявить fout внутри функции глобальной переменной?
 

ishi

Известный
493
110
Создавай указатель.
C++:
extern int *ptr = &fout;
выдаёт
Код:
1>main.cpp(53): error C2205: ptr: невозможно инициализировать внешние переменные с областью видимости блока
Последние три слова мне вообще ничего не говорят ._.
гугл тоже не смог мне помочь. Всё плохо.
 
Последнее редактирование:

Dark_Knight

Me, me and me.
Друг
4,056
2,074
Не так надо.
Пример
C:
в main.h
extern int *ptr;

в main.cpp
int *ptr = nullptr;

void main(){
if(!ptr)
    ptr = new int;
}
 
  • Нравится
Реакции: ishi

ishi

Известный
493
110
в main.cpp:
C++:
int *ptr = nullptr;
в main.h:
C++:
extern int *ptr;
В void callback mainloop:
C++:
*ptr = &fout;
Ошибка:
Код:
error C2440: =: невозможно преобразовать "std::ofstream *" в "int"
 

ishi

Известный
493
110
Так ты объявляй 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>