我正在制作自己的图书馆,但遇到了问题。当我在.h文件中预声明一个函数时,由于它具有逻辑性,因此无法识别它。而且我不知道该怎么办。

在Vector2Lib.cpp中,我有一个结构:

struct Vector2{
   float x;
   float y;
};

一个函数等于一个 vector :
    Vector2 sumaVector(Vector2 x, Vector2 y) {
       Vector2 vectorSumado;

       vectorSumado.x = x.x + y.x;
       vectorSumado.y = x.y + y.y;

       return vectorSumado;
    }

当我在.h文件中预先声明时:
Vector2 sumaVector(Vector2 x, Vector2 y);

它无法识别Vector2结构。我能怎么做?

对不起,我的英语不好,我提前致歉。谢谢。

最佳答案

struct的定义也放在.h文件中。

.h文件应如下所示:

#pragma once

// Define the struct.
struct Vector2{
   float x;
   float y;
};

// Declare the function.
Vector2 sumaVector(Vector2 x, Vector2 y);

关于c++ - 使用struct作为库的全局变量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53178452/

10-12 23:33