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

kizn

q(≧▽≦q)
Всефорумный модератор
2,406
2,107
Как получить значение текстдрава через id?
- - -
Как изменить значение текстдрава через id?
 

zzzhg

Новичок
5
0
1.Стоит-ли использовать С++ как первый язык программирования? В данный момент, нахожусь на 1 курсе колледжа. Хочу начать изучение программирования уже сейчас.
 

ImPasha

Software Developer & System Administrator
Друг
1,788
2,144
1.Стоит-ли использовать С++ как первый язык программирования? В данный момент, нахожусь на 1 курсе колледжа. Хочу начать изучение программирования уже сейчас.
Если тебе нужен C++ для каких-то целей, то да - почему бы и нет, а если ты просто ищешь что бы поучить, то лучше выбрать более простой вариант языка для изучения. Можешь попробовать Си-подобные языки, если нравится синтаксис и есть желание в будущем перейти на C / C++, либо что-нибудь другое, если подобие синтаксиса не так важно. Например, если нужно что-то попроще, то можно попробовать скриптовые языки программирования - они легки для изучения.
 
  • Нравится
Реакции: zzzhg

p1cador

cerf
Проверенный
221
359
1.Стоит-ли использовать С++ как первый язык программирования?
Смотря в какую сторону хочешь развиваться. Но я бы вместо плюсов сразу начал с C, потом будет проще понять как всё устроено в плюсовом ооп
 
  • Нравится
Реакции: zzzhg

loganhackerdff

Известный
868
518
что не так в этом коде? машина 100% существует
C++:
                if (SF->getGame()->isKeyPressed(VK_F1))
                    PEDSELF->GetVehicle()->GetHandlingData()->SetEngineAcceleration(80.f);
крашит при использовании
 

Tox777z

Известный
21
2
1.Ваш вопрос:

Код:
Ошибка (активно)    E0167    аргумент типа "const char *" несовместим с параметром типа "PCHAR"


main.cpp
Код:
#include <windows.h>
#include "main.h"

LRESULT CALLBACK WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
    switch (uMsg)
    {
        case WM_KEYUP:
        {
            switch (wParam)
            {
                case VK_F10:
                {
                    AddMessageJumpQ("Hello World: 2", 500, NULL, false);
                }
                case VK_F11:
                {
                    AddMessageJumpQ("Hello World: 2", 500, NULL, false);
                }
            }
        }
    }
    return CallWindowProcA(WNDPROC(pDLLProject.PrevWndFunc), hwnd, uMsg, wParam, lParam);
}

BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
{
    switch (fdwReason)
    {
        case DLL_PROCESS_ATTACH:
        {
            pDLLProject.PrevWndFunc = SetWindowLongA(FindWindowA(NULL, "GTA:SA:MP"), GWL_WNDPROC, LONG(WindowProc));
        }
    }
    return TRUE;
}

main.h
Код:
#define FUNC_CMessages__AddMessageJumpQ 0x69F1E0

void AddMessageJumpQ(PCHAR text, UINT time, USHORT flag, bool bPreviousBrief) // Функция показа сообщения на экране.
{
    ((void(__cdecl*)(PCHAR, UINT, USHORT, bool))FUNC_CMessages__AddMessageJumpQ)(text, time, flag, bPreviousBrief);
}

struct stDLLProject
{
    LONG PrevWndFunc;
} pDLLProject;
 

SR_team

like pancake
BH Team
4,807
6,491
1.Ваш вопрос:

Код:
Ошибка (активно)    E0167    аргумент типа "const char *" несовместим с параметром типа "PCHAR"


main.cpp
Код:
#include <windows.h>
#include "main.h"

LRESULT CALLBACK WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
    switch (uMsg)
    {
        case WM_KEYUP:
        {
            switch (wParam)
            {
                case VK_F10:
                {
                    AddMessageJumpQ("Hello World: 2", 500, NULL, false);
                }
                case VK_F11:
                {
                    AddMessageJumpQ("Hello World: 2", 500, NULL, false);
                }
            }
        }
    }
    return CallWindowProcA(WNDPROC(pDLLProject.PrevWndFunc), hwnd, uMsg, wParam, lParam);
}

BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
{
    switch (fdwReason)
    {
        case DLL_PROCESS_ATTACH:
        {
            pDLLProject.PrevWndFunc = SetWindowLongA(FindWindowA(NULL, "GTA:SA:MP"), GWL_WNDPROC, LONG(WindowProc));
        }
    }
    return TRUE;
}

main.h
Код:
#define FUNC_CMessages__AddMessageJumpQ 0x69F1E0

void AddMessageJumpQ(PCHAR text, UINT time, USHORT flag, bool bPreviousBrief) // Функция показа сообщения на экране.
{
    ((void(__cdecl*)(PCHAR, UINT, USHORT, bool))FUNC_CMessages__AddMessageJumpQ)(text, time, flag, bPreviousBrief);
}

struct stDLLProject
{
    LONG PrevWndFunc;
} pDLLProject;
у тебя функция принимает изменяемый аргумент, а ты передаешь не изменяемый.

Делай так:
Код:
void AddMessageJumpQ(const PCHAR text, UINT time, USHORT flag, bool bPreviousBrief) // Функция показа сообщения на экране.

{

    ((void(__cdecl*)(const PCHAR, UINT, USHORT, bool))FUNC_CMessages__AddMessageJumpQ)(text, time, flag, bPreviousBrief);

}
 
  • Нравится
Реакции: Tox777z

Tox777z

Известный
21
2
у тебя функция принимает изменяемый аргумент, а ты передаешь не изменяемый.

Делай так:
Код:
void AddMessageJumpQ(const PCHAR text, UINT time, USHORT flag, bool bPreviousBrief) // Функция показа сообщения на экране.

{

    ((void(__cdecl*)(const PCHAR, UINT, USHORT, bool))FUNC_CMessages__AddMessageJumpQ)(text, time, flag, bPreviousBrief);

}

Код:
Ошибка (активно)    E0167    аргумент типа "const char *" несовместим с параметром типа "PCHAR"

Ошибка    C2664    "void AddMessageJumpQ(const PCHAR,UINT,USHORT,bool)": невозможно преобразовать аргумент 1 из "const char [15]" в "const PCHAR"
 

SR_team

like pancake
BH Team
4,807
6,491
Код:
Ошибка (активно)    E0167    аргумент типа "const char *" несовместим с параметром типа "PCHAR"

Ошибка    C2664    "void AddMessageJumpQ(const PCHAR,UINT,USHORT,bool)": невозможно преобразовать аргумент 1 из "const char [15]" в "const PCHAR"
у тебя PCHAR это точно char*? если нет, то замени
 
  • Нравится
Реакции: Tox777z

underhazee

Новичок
1
0
мужики в чем проблема

условие: Дано целое число N (> 0). Найти произведение N! = 1 • 2 • ... • N.


Код:
#include <iostream>
using namespace std;
int main()
{
    setlocale(LC_ALL, "rus");
    int n = 0;   
    cout << "Введите последнее число факториала: ";
    cin >> n;
    for (int i = 1; i < n; i++)
    {
        n *= i;
    }
    cout << n << endl;
    system("pause");
    return 0;
}

в таком случае в консоль не выводится ничего, если в for написать int i = 0, выведется 0.
 

Izvinisb

Известный
Проверенный
963
601
мужики в чем проблема

условие: Дано целое число N (> 0). Найти произведение N! = 1 • 2 • ... • N.


Код:
#include <iostream>
using namespace std;
int main()
{
    setlocale(LC_ALL, "rus");
    int n = 0; 
    cout << "Введите последнее число факториала: ";
    cin >> n;
    for (int i = 1; i < n; i++)
    {
        n *= i;
    }
    cout << n << endl;
    system("pause");
    return 0;
}

в таком случае в консоль не выводится ничего, если в for написать int i = 0, выведется 0.
C++:
#include <iostream>

int main()
{
    uint64_t n, fact = 1;
    std::cin >> n;
    for (uint64_t i = 1; i <= n; i++)
        fact *= i;
    std::cout << fact;
    return 0;
}