如何调试错误"No definition for method 'ios_base::ios_base"

How to debug the error "No definition for method 'ios_base::ios_base"

本文关键字:ios base method for definition 何调试 调试 No 错误      更新时间:2023-10-16

我正在研究 Catapul 系统级综合并尝试在编译过程中C++实现代码,我收到错误:

没有方法 'ios_base::ios_base

的定义

请帮助删除此错误。

#include<ac_int.h>
#include<iostream.h>
#include<fstream.h>
#include<math.h>
using namespace std;
#pragma hls_design top
int main() {
     ac_int<3>R;
     ac_int<3>G;
     ac_int<3>B;
      fstream rfile;
      rfile.open("image_r.txt",fstream::in | fstream::out | fstream::binary);
         if (rfile.is_open())
           {
            rfile>>R>>G>>B;
           rfile.close();   
           }
    int fr = R / 255;
    int fg= G/ 255;
    int fb = B / 255;
  ac_int<3>Y = ac_int<3> ((0.2989 * fr )+ (0.5866 * fg) + (0.1145 * fb));
ac_int<3>Cb = ac_int<3> ((-0.1687 * fr) - (0.3313 * fg) + (0.5000 * fb));
ac_int<3>Cr = ac_int<3> ((0.5000 * fr )- (0.4184 * fg) - (0.0816 * fb));
 fstream wfile("image_w.txt",fstream::in | fstream::out | fstream::binary); 
        if (wfile.is_open())
          {
               wfile<<Y<<Cb<<Cr<<endl;
               wfile.close();
         }

return 0;
}

标头 iostream 和 fstream 不需要扩展。但是,在代码中键入:

#include<iostream.h>
#include<fstream.h>

所以你应该把它改成:

#include<iostream>
#include<fstream>
删除

.h扩展名,可能还会删除编译器生成的错误。

并且不要使用using namespace std;相信我,随着你的项目变得越来越大,这将使事情变得越来越困难。而是手动添加命名空间std::