i am new to Cpp and am having this error:
Error C2011 'point2d': 'struct' type redefinition
it is the first time i use modules, and i am having an error with the headers. Here is my code:
squarecell.cc:
#include <vector>
#include "squarecell.h"
using namespace std;
struct point2d {
point2d(int x, int y) {
X = x;
Y = y;
}
point2d() {
X = 0;
Y = 0;
}
int X;
int Y;
};
squarecell.h:
#pragma once
#include <iostream>
#include <vector>
using namespace std;
struct point2d {
point2d(int x, int y);
point2d();
int X;
int Y;
};
I tried this in the header:
#pragma once
#include <iostream>
#include <vector>
using namespace std;
#ifndef point2d_HEADER
#define point2d_HEADER
struct point2d {
point2d(int x, int y);
point2d();
int X;
int Y;
};
#endif
Also didnt work, I searched everywhere, i know im doing something wrong but i cant figure it out.
Any help would be much appreciated,
Karl
The issue is in the source file, not the header.
Implementations are done like this:
point2d::point2d(int x, int y) { ... }
Not like this:
struct point2d {
point2d(int x, int y) { ... }
};