kir*_*off 5 c++ namespaces constants c-preprocessor
用C++,我试着
#define TINY std::pow(10,-10)
Run Code Online (Sandbox Code Playgroud)
我给代码提供了#include定义TINY的类(.h)的命名空间信息
#pragma once
#include "MMath.h"
#include <string>
#include <cmath>
#include <vector>
using namespace std;
#define TINY std::pow(10,-10)
Run Code Online (Sandbox Code Playgroud)
我在.cpp文件中的某些函数实现中使用TINY,而TINY给出了错误
IntelliSense:多个重载函数"std :: pow"的实例与参数列表匹配
什么是正确的语法?
pmd*_*mdj 10
编辑:我同意评论者说使用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 );
Run Code Online (Sandbox Code Playgroud)
你可以调用如下:
std::pow(10.0f, -10.0f)
std::pow(10.0, -10)
std::pow(10.0L, -10)
Run Code Online (Sandbox Code Playgroud)
分别.
| 归档时间: |
|
| 查看次数: |
22827 次 |
| 最近记录: |