powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Объявление и реализация
7 сообщений из 7, страница 1 из 1
Объявление и реализация
    #33634097
N00bus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Почему прога не видит тела функции???

файл main.cpp
Код: plaintext
1.
2.
3.
4.
5.
6.
#include "SDL.h"
int main()
{
	SDL_Init( 0 );
	return  0 ;
};

файл SDL.h
Код: plaintext
1.
2.
3.
4.
5.
6.
#ifndef __SDL_H__
#define __SDL_H__

int SDL_Init(int flag);

#endif

файл SDL.c
Код: plaintext
1.
2.
3.
4.
5.
#include "SDL.h"
int SDL_Init(int flag)
{
	return  0 ;
};

P.S.
Работает, если SDL.c исправить на SDL.cpp, но это не подходит по опр. причинам, как правильно в header'е описать функцию????
...
Рейтинг: 0 / 0
Объявление и реализация
    #33634124
Фотография Cerebrum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а если в хедере заделать реализацию?
...
Рейтинг: 0 / 0
Объявление и реализация
    #33634156
N00bus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В хедере нельзя, т.к. есть огромный набор файлов такой структуры, т.е. есть описания в *.h и реализация в *.c. Переделывать все это не хочется. В общем как правильно все это развести.
...
Рейтинг: 0 / 0
Объявление и реализация
    #33634172
N00bus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот проверил. Почему-то так работает

файл main.cpp
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
//#include "SDL.h"
extern "C" int SDL_Init(int flag);

int main()
{
	SDL_Init( 0 );
	return  0 ;
};

а если в SDL.h вставить extern "C", то не пашет
Код: plaintext
1.
2.
3.
4.
5.
6.
#ifndef __SDL_H__
#define __SDL_H__

extern "C" int SDL_Init(int flag);

#endif

пишет error C2059: syntax error : 'string'
...
Рейтинг: 0 / 0
Объявление и реализация
    #33634179
redskin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
N00busВот проверил. Почему-то так работает

файл main.cpp
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
//#include "SDL.h"
extern "C" int SDL_Init(int flag);

int main()
{
	SDL_Init( 0 );
	return  0 ;
};

а если в SDL.h вставить extern "C", то не пашет
пишет error C2059: syntax error : 'string'


Напиши в заголовочном файле так:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
#ifndef __SDL_H__
#define __SDL_H__

#ifdef __cplusplus
    extern "C" int SDL_Init(int flag);
#else
    int SDL_Init(int flag);
#endif

#endif
...
Рейтинг: 0 / 0
Объявление и реализация
    #33634227
N00bus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2redskin

Спасибо помогло.
...
Рейтинг: 0 / 0
Объявление и реализация
    #33636269
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не советую использовать собственную SDL_Init() функцию. Получишь конфликт с библиотечной int SDL_Init(Uint32 flags);
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Объявление и реализация
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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