"more than one instance of overloaded function " 标准::p ow " matches the argument list"
"more than one instance of overloaded function "std::pow" matches the argument list"
使用C++,我尝试
#define TINY std::pow(10,-10)
我给出了带有#include
和类(.h)的名称空间信息的代码,其中TINY被定义为
#pragma once
#include "MMath.h"
#include <string>
#include <cmath>
#include <vector>
using namespace std;
#define TINY std::pow(10,-10)
我在.cpp文件中的一些函数实现中使用了TINY,TINY给出了错误
IntelliSense:重载函数"std::pow"的多个实例与参数列表匹配
什么是正确的语法?
编辑:我同意评论者的说法,用std::pow()代替文字常量是不必要的,所以对于这个特殊的问题,使用1.0E-10
常量;我对你所犯的实际错误的解释以及解决它的方法仍然有效。
这与您的#define
无关。std::pow()
是一个重载函数,它的重载都不将(int, int)
作为参数。您应该提供具有明确选择重载的类型的参数。根据您想要的返回值类型,您可能需要选择以下重载之一:
float pow ( float base, float exponent );
double pow ( double base, int exponent );
long double pow ( long double base, int exponent );
您可以如下调用:
std::pow(10.0f, -10.0f)
std::pow(10.0, -10)
std::pow(10.0L, -10)
分别。
我认为最好的方法是定义一个常量变量并初始化它,而不使用pow
函数,比如这个
const double TINY = 1E-10; //1e-10 is 10 to the power of -10
尝试使用std::pow(10.0,-10.0)
:std::pow
有多个重载与您的参数列表匹配;指定10.0,-10.0
强制使用特定的过载:
double pow(double base, double exponent);
注意,这个#define
可能是次优的,这取决于TINY
的使用:每次在代码中使用它时,都会调用std::pow
来计算相同的值。更好的方法是使用一个静态变量,设置一次,然后从那时起使用
相关文章:
- 这对"With a stackless coroutine, only the top-level routine may be suspended."意味着什么
- Doees the 'this' 指针参与虚函数的多态行为
- 为什么我会收到"Run-Time Check Failure #2 - Stack around the variable 'pr' was corrupted"错误?
- 您将如何连接"on the fly"文本+整数并将其传递给函数?
- 如何理解"Temporary objs are destroyed as the last step in evaluating the full-expression"?谁能用一些简单的例子来说明这
- 如何在 std::transform 中使用 std::p ow 作为一元函数?
- 如何解决C++中声纳库贝静态代码分析错误"Explicitly define the missing copy constructor, move constructor .."
- Configuring the MPEG4MediaSink
- 这在C++ "It does not own the underlying data, and so is cheap to copy or assign"中意味着什么
- What is the std::chrono::time_point equivalent of std::numer
- 如何在数据库程序中添加"reduce the quantity of an item"功能?
- 使用自定义 nodejs 插件时的"The specified module could not be found"
- Boost.Python 和导入 dll,"The specified module could not be found"
- "Build succeeded"但"The breakpoint will not currently be hit"
- 尝试应用肖恩父母谈话"inheritance is the base class of evil"中的模式
- 为什么'allocate in one library and free in the other'是错误的
- 如何修复此错误"the value of 'x1' is not usable in a constant expression"?static_assert
- Count the digits
- C++:不一致的 std::p ow( 类型 ) 定义
- "more than one instance of overloaded function " 标准::p ow " matches the argument list"