提问人:Username008445 提问时间:4/19/2023 最后编辑:MatUsername008445 更新时间:4/20/2023 访问量:57
从 C++ 中的单独文件导入函数
Import function from separate file in C++
问:
我正在尝试将“指数”函数从库 .cpp 导入到 main.cpp,但我得到
错误:调用“Exponent”没有匹配函数
else if (op == "**") {result = Exponent(x,y);}
主 .cpp
#include <iostream>
#include <cmath>
#include "library.cpp"
using namespace std;
int main() {
int x;
int y;
int result;
string op;
cout << "CALCULATOR" << endl;
cout <<"Enter two numbers then an operator" << endl;
cout << "1st Number: ";
cin >> x;
cout << "2nd Number: ";
cin >> y;
cout << "Operator(+,-,*,/,**): ";
cin >> op;
if (op == "+") {result = x + y;}
else if (op == "-") {result = x - y;}
else if (op == "*") {result = x * y;}
else if (op == "/") {result = x / y;}
else if (op == "**") {result = Exponent(x,y);}
cout << x << " " << op << " " << y << " = " << result <<endl;
return 0;
}
库 .cpp
int Exponent(int x,int y, int result) {
for(int i = 0; i < y; ++i)
{
return result = result + x * x;
}
}
答:
2赞
john
4/19/2023
#1
这里有很多问题。
下面是一个有效的指数函数
int Exponent(int x, int y) {
int result = 1;
for(int i = 0; i < y; ++i)
{
result *= x;
}
return result;
}
请注意,此问题与“导入”无关。即使您的函数在 .将大问题分解为小问题是编程的关键部分。这里更好的方法是先让函数工作,然后再尝试将其移动到不同的 cpp 文件。尝试一次解决一个问题,然后当它不起作用时,你就会更好地了解问题出在哪里。Exponent
main.cpp
main.cpp
评论
#include "foo.cpp"
library.h
Exponent