小编Shi*_*ked的帖子

e到C中的幂x

我试图找到权力x的e.请说明我目前的实施可能出现的问题,而不仅仅是建议新的/有效的解决方案(我可以在网上找到很多).似乎有逻辑或运行时错误,调试它没有显示任何内容.提前致谢!

已包含cmath库,程序编译精细..运行时停止

double find_e_power_x(int x){
     int i = 1, j = 1, count = 1, accuracy = 15;
     double xd = static_cast<double>(x); //pow takes double args
     double jd = static_cast<double>(j);
     double epx = 1.0;
     while ( count < accuracy ){
           while ( ++i && ++j) {
                 epx += ( pow(xd,jd) / fact(i) ); //static_cast
                 count++;
           }
     }
     return epx;
} 
Run Code Online (Sandbox Code Playgroud)

回应评论(指出我无限的内循环),

编辑:

while ( count < accuracy ){
                 epx += ( pow(xd,jd) / fact(i) ); //static_cast
                 count++;
                 i++;
                 j++;
     } …
Run Code Online (Sandbox Code Playgroud)

c++ exponent

2
推荐指数
1
解决办法
1023
查看次数

C++取消引用void指针,将int ptr转换为void ptr

这些代码行显示如下错误:

int e = 5, * ePtr = &e;
void * vPtr = ePtr; 
cout << *vPtr; 
Run Code Online (Sandbox Code Playgroud)

语法错误:

`void*'不是指向对象的类型

我知道:

  1. 任何指针类型都可以存储在void指针类型中而无需显式转换
  2. 解除引用尝试void指针是语法错误

但如果我们不能做#2点,除了语法正确之外,点#1的用途是什么?我想打印5(即e这里)使用vPtr..可能吗?

这很好用:

int e = 5, * ePtr = &e;
void * vPtr = ePtr; //specific to generic Ok!
double * dPtr = (double *)vPtr; //to let compiler know stoarge size
cout << *dPtr; //indirectly it is vPtr i.e. a void ptr, can be deref only if cast
Run Code Online (Sandbox Code Playgroud)

c++ pointers void

2
推荐指数
1
解决办法
1万
查看次数

标签 统计

c++ ×2

exponent ×1

pointers ×1

void ×1