我正在制作自己的图书馆,但遇到了问题。当我在.h文件中预声明一个函数时,由于它具有逻辑性,因此无法识别它。而且我不知道该怎么办。
在Vector2Lib.cpp中,我有一个结构:
struct Vector2{
float x;
float y;
};
还有一个函数,它等于一个向量:
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结构。我该怎么办?
对不起,我的英语不好,我事先表示歉意。谢谢。
答案 0 :(得分:1)
还将struct
的定义也放在.h文件中。
.h文件应如下所示:
#pragma once
// Define the struct.
struct Vector2{
float x;
float y;
};
// Declare the function.
Vector2 sumaVector(Vector2 x, Vector2 y);
答案 1 :(得分:1)
您可以通过两种方式解决问题
typedef struct {
float x;
float y; }Vector2;
int main(){
Vector2 tmpVec;
tmpVec.x=10.0;
tmpVec.y=30.0;
////
}
或者您也可以编写这样的代码示例
struct Vector2{
float x;
float x;
};
int main(){
stuct Vector2 tmpVec;
tmpVec.x=10.0;
tmpVec.y=30.0;
////
}