【发布时间】:2012-03-22 05:39:00
【问题描述】:
使用 C++,我尝试
#define TINY std::pow(10,-10)
我给出的代码带有 #include 和定义 TINY 的类 (.h) 的命名空间信息
#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”实例与参数列表匹配
什么是正确的语法?
【问题讨论】:
-
问题标题非常具有误导性,因为它与预处理器完全无关。为什么要使用 pow,而不是只写 1e-10 ?
-
尝试 std::pow(10.0, 10.0) 显式选择 float/double 重载。
-
+1 for PlasmaHH:使用
const double tiny = 1E-10;是迄今为止最好和最 C++ 的解决方案。 -
两者都工作正常,确实。谢谢。
标签: c++ namespaces constants c-preprocessor