0

我正在尝试使用 Allegro 在 C++ 中创建游戏,并且创建了一个简单的 Rectangle 类,但它似乎超出了我的主程序的范围,我有:

矢量2.h

#include "stdafx.h"

#ifndef __VECTOR2_H
#define __VECTOR2_H

using namespace std;

struct Vector2
{
public:
    float X,Y;
    Vector2() { }
    Vector2(const Vector2&) { }
    Vector2(const float& x, const float& y) : X(x), Y(y) { }
    ~Vector2( ) { }
    Vector2 operator+(const Vector2& v);
    Vector2 operator-(const Vector2& v);
};

#endif

矩形.h

#include "Vector2.h"

#ifndef __RECTANGLE_H_
#define __RECTANGLE_H_

using namespace std;

class Rectangle
{
public:
    Rectangle() { }
    Rectangle(const Rectangle& r);
    Rectangle(const float& x,const float& y,const float& h,const float& w);
    ~Rectangle() { }
    void SetPosX(const float& x);
    void SetPosY(const float& y);
    void SetHeight(const float& h);
    void SetWidth(const float& w);

    bool Intersects(const Rectangle* r);

    Vector2* GetIntersection(const Rectangle* r);

    float x,y,w,h;
};


#endif

主要的

#include "stdafx.h"
#include "Rectangle.h"

using namespace std;

// Other functions...

void myDraw(ALLEGRO_BITMAP* texture, Rectangle source, Rectangle dest, ALLEGRO_COLOR tint, Vector2 scale, float angle, int flags) //<-- This is where the error message points
{
    al_draw_tinted_scaled_rotated_bitmap_region(texture,
    source.x, source.y, source.w, source.h,
    tint,
    dest.x, dest.x, dest.w, dest.h,
    scale.X, scale.Y,
    angle, flags);

    return;
}

帮助?

我得到的具体错误是main.cpp(147): error C2061: syntax error : identifier 'Rectangle'

4

0 回答 0