powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Как объявить функцию в модуле main.cpp. Код функции находится в другом модуле.
8 сообщений из 8, страница 1 из 1
Как объявить функцию в модуле main.cpp. Код функции находится в другом модуле.
    #38472309
S0ME0NE
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем доброе утро. Надо воспользоваться функцией из неосновного модуля с параметрами.

текст функции из другого модуля
Код: plaintext
1.
2.
3.
4.
int Func123(double x, char *y)
{
...
}



текст основного модуля main.cpp
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
#include <windows.h>
int Func123(double x, char *y)   КАК ПРАВИЛЬНО ???

LRESULT CALLBACK WindowProcedure(HWND, UINT, WPARAM, LPARAM);
char szClassName[] = "Windows Example";
HINSTANCE hThisInstance;

int WINAPI WinMain(HINSTANCE hThisInstance, HINSTANCE hPrevInstance, LPSTR lpszArgument, int nFunsterStil)
...


Подскажите, где именно надо указать эту жёлтую строку и как (с параметрами али без)

Использую MinGw.
...
Рейтинг: 0 / 0
Как объявить функцию в модуле main.cpp. Код функции находится в другом модуле.
    #38472312
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
; забыл
Код: plaintext
1.
int Func123(double x, char *y);
...
Рейтинг: 0 / 0
Как объявить функцию в модуле main.cpp. Код функции находится в другом модуле.
    #38472328
S0ME0NE
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
если эту функцию я не использую и не объявляю её в модуле main.cpp
то программка компилируется и всё хорошо.

а если использую и объявляю как написал (разумеется с точкой запятой)
то компилятор пишет
Код: plaintext
1.
main.cpp In function 'LRESULT WindowProcedure(HWND, UINT, WPARAM, LPARAM)'::
main.cpp [Warning] deprecated conversion from string constant to 'char*' [-Wwrite-strings]

а использую функцию так
Код: plaintext
1.
2.
int xy;
xy = Func123(5647832.34, "текстовое сообщение в кавычках");
...
Рейтинг: 0 / 0
Как объявить функцию в модуле main.cpp. Код функции находится в другом модуле.
    #38472395
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
S0ME0NE,

Это не ошибка, это только предупреждение.
...
Рейтинг: 0 / 0
Как объявить функцию в модуле main.cpp. Код функции находится в другом модуле.
    #38472447
S0NE0NE
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Благодарю. Как надо использовать переменные и функции, если цель надёжность, а не что-то другое (скорость например)
Надёжность в моём понимании - значение переменной.
Может быть надо передавать не значение, а адрес в памяти, где это значение сидит?
Ссылка тоже бы не помешала на эту тему.
Этого недостаточно. Межмодульные переменные и функции

Короче говоря, как надо? Подскажите пожалуйста. Спасибо.
...
Рейтинг: 0 / 0
Как объявить функцию в модуле main.cpp. Код функции находится в другом модуле.
    #38472519
?
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
?
Гость
S0NE0NE, надо понимать разницу между char * и const char *
...
Рейтинг: 0 / 0
Как объявить функцию в модуле main.cpp. Код функции находится в другом модуле.
    #38472677
Фотография Анатолий Широков
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
S0NE0NE,

Сигнатура функции говорит в первую очередь о твоих намерениях:

Код: plaintext
1.
2.
3.
4.
5.
// функция использует x и может модифицировать данные по указателю y
int Func123(double x, char *y);

// функция использует x и использует y, не модифицируя данные
int Func123(double x, const char *y);



В твоем примере, ты явно нарушаешь контракт, передавая константу в функцию int Func123(double x, char *y), которая может модифицировать данные по указателю y.
...
Рейтинг: 0 / 0
Как объявить функцию в модуле main.cpp. Код функции находится в другом модуле.
    #38472779
S0ME0NE
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Анатолий ШироковСпасибо. Я начинаю понимать. Ваш ответ очень нагляден.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Как объявить функцию в модуле main.cpp. Код функции находится в другом модуле.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]