gpt4 book ai didi

C++ 链接错误。我究竟做错了什么?

转载 作者:行者123 更新时间:2023-11-28 07:52:33 26 4
gpt4 key购买 nike

所以,这是我第一次真正将单个程序分成一个头文件和两个 .cpp 文件。但我想我遇到了链接错误。这是目录的外观。(这是我图片的链接,我没有足够的代表在问题中张贴图片)

main.cpp 是我的主要源文件,其中包含所有调用函数和其他重要内容。在 functions.cpp 中我有我所有的函数,在 coordin.h 文件中我有函数原型(prototype)和结构以及常量。一切正常,没有错字,我已经检查了一切。但是我得到了一个未定义的函数引用错误。我也包含了 coordin.h 文件。您认为 functions.cpp 文件需要放在其他地方吗?我的意思是编译器没有查看该文件内部吗?

她的代码:

main.cpp

#include <iostream>
#include "coordin.h"

using namespace std;

int main()
{
rect rplace ;
polar pplace;

rect test = {45.89,25.4};
pplace = rect_to_polar(test);

cout<<pplace.angle<<endl;


return 0;
}

坐标.h

#ifndef COORDIN_H_INCLUDED
#define COORDIN_H_INCLUDED


/* Constants */

const double RAD_TO_DEG = 57.29577951;

struct polar{
double distance; //distance from the origin
double angle; //the angle from the origin
};

struct rect {
double x; //horizontal distance form the origin
double y; //vertical distance from the origin
};

/* Function prototypes */

polar rect_to_polar(rect xypos);
void show_polar(polar dapos);

#endif // COORDIN_H_INCLUDED

函数.cpp

/*
functions.cpp
contains all the function declarations
*/

#include <iostream>
#include "coordin.h"
#include <cmath>

using namespace std;

//convert rectangular to polar coordinates
polar rect_to_polar(rect xypos){

polar answer;

answer.distance =
sqrt(xypos.x * xypos.x + xypos.y * xypos.y);
answer.angle = atan2(xypos.y, xypos.x);

return answer;
}

//show polar coordinate, converting angle to degrees

void show_polar(polar dapos){

cout<<"Distance : " << dapos.distance <<endl;
cout<<"Angle : " << dapos.angle * RAD_TO_DEG <<" degrees."<<endl;
}

这是错误:

最佳答案

Code::Blocks 是否真的编译了您的 functions.cpp 文件?右键单击项目树中的 functions.cpp,选择“Properties”并确保复选框“Build”、“Release”已设置——否则,Code::Block 将忽略此文件构建并且不会编译它。

关于C++ 链接错误。我究竟做错了什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13455423/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com