C++函数和指针
C++ functions and pointers
我有一个任务,要写一个小程序,其中包括使用指针和函数来查找平方根。我收到一个错误,说"3 个重载都无法转换所有参数类型"提前感谢您的帮助
这是我到目前为止的代码。我知道这是一团糟,希望你们能帮忙。
void SqrRt(unsigned long int *, unsigned long int *);
int main() {
unsigned long int number, root;
cout << "Type in any number greater than 0 to find it's square root: ";
cin >> number;
SqrRt(&number, &root);
return 0;
}
void SqrRt(unsigned long int *num, unsigned long int *rt){
if (num >= 0)
rt = sqrt(num);
else
cout << "Invalid input! Number should be greater than 0!";
}
sqrt
只能处理数字,不能处理指向它们的指针,所以你所要做的就是取消引用你传递给sqrt
的指针。
此外,sqrt
还返回一个数字,因此您还应该取消引用要分配给的指针。
您需要重写rt = sqrt(num)
以*rt = sqrt(*num)
。代码的问题在于您没有引用底层对象,即指针指向的对象。我建议您尽可能使用引用,因为与指针相比,它更容易使用。
相关文章:
- 如何正确编写指针函数声明?
- C++常规指针函数或模板
- 如何重新定义 C++ 指针函数?
- C++ 指向其他类函数的指针函数
- 指针到指针函数参数
- 将指向成员的指针函数传递到模板中
- C++ 在 none 常量指针函数中返回一个常量指针
- 如何使用指针函数编写/读取数组
- 是C 中的函数指针函数对象
- 如何从另一个类调用指向成员的指针函数
- 如何声明采用指向成员的指针函数的函数
- 如何构造一个以可变参数指针函数作为成员的类?
- c 通过值或指针函数语法
- 将typedef方法作为指针函数传递
- 从 Main 中的双指针函数打印出指针数组
- strcpy 对指针函数的引用
- 这是否仍然声明一种指针函数的别名?
- 将指向成员的指针函数与 std::shared_ptr 结合使用
- 'Incomplete type' 为标准::函数声明指向成员的指针函数模板参数时出错
- 从注入进程的 DLL 调用函数并更改指针函数的地址