0

есть файл engine.cpp

#include <iostream>
#include "settings.cpp"
#include <SDL.h>
#include <array>
using namespace std;

double radians(double angle) { return (PI / 180.0) * angle; }

setings.cpp

#include <math.h>
const int False = 0;
const int True = 1;
const int map_width = 5;
const int map_height = 5;
const int RESOLUTION_X = 256;
const int RESOLUTION_Y = 256;
const double PI = 3.141592653538979323;
typedef double Double4[4];
typedef int Int4[4];
typedef int MAP[map_width][map_height];
typedef int SPRITES_TYPE[1000][20];
typedef int RAYS_MATRIX_TYPE[360][RESOLUTION_X][2];
typedef int RENDER_TYPE[RESOLUTION_X][RESOLUTION_Y][3];
typedef double HEIGHTS_TYPE[RESOLUTION_X][4];
typedef int TEXTURES_TYPE[1000][RESOLUTION_Y][RESOLUTION_Y][3];
typedef int SPRITE_TEXTURES_TYPE[1000][RESOLUTION_Y / 2][RESOLUTION_Y][3];
struct Double4_Struct {
    Double4 self;
};
struct TEXTURES_TYPE_Struct {
    TEXTURES_TYPE self;
};
struct HEIGHTS_TYPE_Struct {
    HEIGHTS_TYPE self;
};
struct Int4_Struct{
    Int4 self;
};
struct MAP_Struct {
    MAP self;
};
struct SPRITES_TYPE_Struct {
    SPRITES_TYPE self;
};
struct RAYS_MATRIX_TYPE_Struct {
    RAYS_MATRIX_TYPE self;
};
struct RENDER_TYPE_Struct {
    RENDER_TYPE self;
};
struct SPRITE_TEXTURE_TYPE_Struct {
    SPRITE_TEXTURES_TYPE self;
};
/*double radians(double angle) {
    return (PI / 180.0) * angle;
}
double radians(int angle) {
    return (PI / 180.0) * angle;
}*/

вылетает ошибка повторное определение radians(double); .../engine.cpp:7: здесь первое определение

Но ведь у меня нет никаких больше определений этой функции Я новичок в C++, помогите плиз

FotonPC
  • 1,828
  • 1
  • 6
  • 21
  • 2
    Ну не включают .cpp-файлы, не включают! – Harry Sep 30 '22 at 19:28
  • @Harry, а на ошибку это как-то влияет? – FotonPC Sep 30 '22 at 19:30
  • 1
    https://ru.stackoverflow.com/questions/876163/c-%d0%a0%d0%b0%d0%b7%d0%bd%d0%b8%d1%86%d0%b0-%d0%bc%d0%b5%d0%b6%d0%b4%d1%83-%d0%b7%d0%b0%d0%b3%d0%be%d0%bb%d0%be%d0%b2%d0%be%d1%87%d0%bd%d1%8b%d0%bc-%d0%b8-%d1%84%d0%b0%d0%b9%d0%bb%d0%be%d0%bc-%d1%80%d0%b5%d0%b0%d0%bb%d0%b8%d0%b7%d0%b0%d1%86%d0%b8%d0%b8/876207#876207 – user7860670 Sep 30 '22 at 19:45
  • @user7860670, спасибо за интерес к вопросу но как решить проблему – FotonPC Sep 30 '22 at 19:53
  • Вам же уже подсказали - не включайте .cpp файлы, они для этого не предназначены. Как вариант, сделать функции inline и избавиться от лишних .cpp файлов. – user7860670 Sep 30 '22 at 19:55
  • @user7860670, я переименовал его в .hpp, типа для деклараций. Ошибка все равно вылезает. – FotonPC Sep 30 '22 at 19:57
  • 1
    Ну так и содержимое тоже надо поменять, чтобы в нем реально были декларации либо inline функции – user7860670 Sep 30 '22 at 19:59
  • Сам по себе приведенный код ошибки не вызывает, приведенные 2 файла компилируются(если вызывать компилятор на engine.cpp), поэтому что-то некорректно в проекте. – Alex Titov Oct 01 '22 at 06:28

0 Answers0