Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/142.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++;和EXE赢得';跑不动 我有以下C++代码:我试图理解代码为什么编译得很好,但是它不会在EXE中运行,我试图从结果中得到输出文件,有什么线索来解释为什么会发生这种情况。它提到的错误是ios::base something 编辑1_C++_C++11 - Fatal编程技术网

C++;和EXE赢得';跑不动 我有以下C++代码:我试图理解代码为什么编译得很好,但是它不会在EXE中运行,我试图从结果中得到输出文件,有什么线索来解释为什么会发生这种情况。它提到的错误是ios::base something 编辑1

C++;和EXE赢得';跑不动 我有以下C++代码:我试图理解代码为什么编译得很好,但是它不会在EXE中运行,我试图从结果中得到输出文件,有什么线索来解释为什么会发生这种情况。它提到的错误是ios::base something 编辑1,c++,c++11,C++,C++11,这就是错误,对“std::ios_base::Init::Init()”的未定义引用。,我最初使用以下方法运行该程序: g++ -o plot1 Derivative.cpp 编辑 我修复了我的代码,代码根据需要获取函数的导数,并将结果返回到dat文件中 #include <cmath> #include <iostream> #include <fstream> #include <string> using namespace std; fl

这就是错误,
对“std::ios_base::Init::Init()”的未定义引用。
,我最初使用以下方法运行该程序:

g++ -o plot1 Derivative.cpp
编辑 我修复了我的代码,代码根据需要获取函数的导数,并将结果返回到dat文件中

#include <cmath>
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
float function(float j);
int main(){
    const double a =.0001;
    int i = 0;
    string filename;
    double x[100], delta[100], deltax[100],dx1[100],y_1[100],y_0[100],derivative_f[100];
    ofstream myfile;
    cin >> filename;
    myfile.open (filename, ios::out | ios::trunc );
    for(int i = 1; i < 101; i++)    {

         x[i]= i*.2;
         delta[i] = {a * x[i]};
         deltax[i] = {x[i]+delta[i]};
         dx1[i] = {deltax[i]-x[i]};
         y_1[i] = {function(deltax[i])};
         y_0[i] = {function(x[i])};
         derivative_f[i] = {(y_1[i]-y_0[i])/dx1[i]};
         myfile << x[i] << ' ' << derivative_f[i] << endl; 
    } 
    myfile.close();
    return 0;
}
float function(float j){
    float result;
    result = exp(j);
    return result;
}
#包括
#包括
#包括
#包括
使用名称空间std;
浮动功能(浮动j);
int main(){
常数双a=0.0001;
int i=0;
字符串文件名;
双x[100],δ[100],δ[100],dx1[100],y_1[100],y_0[100],导数f[100];
流文件;
cin>>文件名;
myfile.open(文件名,ios::out | ios::trunc);
对于(int i=1;i<101;i++){
x[i]=i*.2;
delta[i]={a*x[i]};
deltax[i]={x[i]+delta[i]};
dx1[i]={deltax[i]-x[i]};
y_1[i]={函数(deltax[i])};
y_0[i]={函数(x[i])};
导数_f[i]={(y_1[i]-y_0[i])/dx1[i]};

myfile这是您的第一个问题:

for (int i = 0; 100; i++){
请注意您的条件,
100
。这是一个无限循环,因为您没有测试它,
100
为“true”。请尝试:

for(int i=0;i<100;i++){

您的第二个循环也有同样的问题。实际上,两个循环都不可能是无限的,因为您的程序在尝试读取/写入未分配的内存时最终会崩溃。

什么是“不会运行”的确切含义?您有没有收到任何错误?“它提到的错误是ios::base something。”我们需要的是实际的错误,而不仅仅是错误的部分解释。照目前的情况,错误很可能是我提到的越界访问,但您需要提供实际的错误作为错误的一部分,而不仅仅是它的一小部分的解释。在调试器下运行它,它将直接指向issue@HolyBlackCat我知道了,但那个接电话的人明白了。@HolyBlackCat这是你要求的错误。谢谢+1@ShadowRanger@JoseSerra:您肯定有一些数学错误,例如,您对
dx
的计算几乎肯定是错误的,因为您使用了
int
s,所以结果是
0
,而不是小数。但这与您的程序崩溃无关。@MooingDuck:数组在使用之前是初始化的。仅仅因为它们没有预先初始化并不意味着它们没有初始化。
for (int i = 0; i < 100; i++){