我正在进行Catapul System级别综合并尝试在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;
}
答案 0 :(得分:0)
标题iostream和fstream不需要扩展名。但是在你的代码中输入了:
#include<iostream.h>
#include<fstream.h>
所以你应该把它改成:
#include<iostream>
#include<fstream>
删除.h扩展名,也可能删除编译器生成的错误。
AND DON&#39; T USE using namespace std;
相信我,因为你的项目变得越来越大,这将使事情变得越来越困难。而是手动添加名称空间std::
。