Header file in c++
Header file in c++
以下错误的头文件:对' swimmingPool:: timenneeded (int)'的未定义引用
我在代码中犯了一些微不足道的错误,但无法弄清楚是什么。相对较新的语言。请帮忙!!
#include<iostream>
#include<cstdio>
#include "swimmingPool.h"
using namespace std;
int main()
{
cout << "Pool Data: " << endl;
swimmingPool p(30,15,10,0,0);
int rate_in;
cout << " Length: " << p.length << endl;
cout << " Width: "<< p.width << endl;
cout << " Depth: "<< p.depth << endl;
cout << " Total water in the pool: " << p.water_initially <<endl;
cout << "To completely fill the pool" << endl;
cout << " Enter water fill in rate: ";
cin >> rate_in;
cout<< endl;
cout << endl;
cout << "Time to fill the pool is approximately: " << p.timeNeeded(rate_in)/3600 << " hours and "<<
p.timeNeeded(rate_in)%60<< " minutes."<<endl;
return 0;
}
/**********************************************************************************/
/******************** swimmingPool.h **********************************************/
#ifndef __IH__
#define __IH__
class swimmingPool{
public:
int length;
int width;
int depth;
int rate_out;
int water_initially;
int waterNeeded();
int timeNeeded(int in);
swimmingPool(int a,int b, int c, int d,int e){}
};
#endif
/********************************************************************************/
/******************************** swimmingPoolImp.cpp ****************************/
#include<iostream>
#include<cstdio>
#include "swimmingPool.h"
swimmingPool::swimmingPool(int a,int b, int c, int d,int e) //IT has five parameters for length/breadth/height/water_initially/rate_out.Rate to be taken input from user.
{
length = a;
width = b;
depth = c;
rate_out = d;
water_initially = e;
}
int swimmingPool::waterNeeded()
{
return( length*width*depth - water_initially)*7.48; //conversion factor
}
int swimmingPool::timeNeeded(int rate_in)
{
if(rate_in > rate_out)
{
return (( waterNeeded() / (rate_in - rate_out))*60);
}
else
{
return (( waterNeeded() / (rate_out - rate_in))*60);
}
};
"undefined reference to…"类别中的错误信息通常意味着该函数,无论是编译的还是其他方式,都没有链接到到您的可执行文件中。
首先,确保swimmingPool.cpp的对象文件(swimmingPool. cpp)。
如果您已经确认了这一点,那么有可能您的make工具在添加了timeNeeded之后忘记重新编译swimmingPool.cpp,因此该目标文件已经过期。如果是这种情况,你应该重新编译swimmingPool.cpp。
执行此操作所需的具体命令取决于您的工具链。
而且,你的函数不是"const-correct",你应该尽快查找,当你学习
解析构造函数的多个定义(一个在头文件中,另一个在cpp文件中)
swimmingPool(int a,int b, int c, int d,int e){} // **this makes it a definition and not just declaration**
swimmingPool::swimmingPool(int a,int b, int c, int d,int e) //IT has five parameters for length/breadth/height/water_initially/rate_out.Rate to be taken input from user.
{
length = a;
width = b;
depth = c;
rate_out = d;
water_initially = e;
}
将swimmingPool(int a,int b, int c, int d,int e){}
改为swimmingPool(int a,int b, int c, int d,int e);
相关文章:
- netcat command in c++
- Difference in displaying cv2 Mat
- C++ MFC Libraries in Travis CI
- 如何在OpenSSL中从configuration.h.in获取configuration.h
- 创建具有 new in 函数和"this is nullptr"异常的对象
- IN, OUT, INOUT Parameters
- 应用程序崩溃并显示"symbol _ZdlPvm, version Qt_5 not defined in file libQt5Core.so.5 with link time reference"
- 有人安装"IITB Simplecpp in mac"吗?
- 从 C 样式字符串中删除子字符串 "in place" 在C++代码中
- 如何修复"error: ‘_1’ was not declared in this scope"?
- Softmax Implementation in C++
- 将 out/in out 参数与 if/switch 的 init 语句一起使用
- IF-nesting in c++
- Gurobi GRBModel and GRBmodel in C++
- Tensorflow Hub in C++
- Centos7 g++ "to_string is not in a member of std"
- InitializeCriticalSectionEx Not Located In KERNEL32.Dll
- 将 lambda 表达式传递给 std::function in C++
- @CPPFLAGS@在 Makefile.in 中意味着什么?
- std::async from std::async in windows xp