【发布时间】:2014-04-11 17:03:59
【问题描述】:
在.h中:
enum collisionType {AB, BA, AoverB, AunderB};
struct Collision {
public:
collisionType type;
glm::vec2 point1;
glm::vec2 point2;
Collision(enum collisionType, glm::vec2, glm::vec2);
};
在 .cpp 中:
Collision::Collision(enum collisionType collisType, glm::vec2 p1, glm::vec2 p2) : type(collisType), point1(p1), point2(p2)
{
}
使用它
std::vector<Collision> collisions;
glm::vec2 point1(11.0, 12.0);
glm::vec2 point2(12.0, 13.0);
collisions.push_back(Collision(AoverB, point1, point2));
出现错误 C2512: 'Collision' : 没有合适的默认构造函数可用,为什么?
【问题讨论】:
-
上面的 sn-p 在 g++ 上编译得很好。你确定你不在某处使用
Collision a;或smth 吗?
标签: c++ default-constructor glm-math