程序提示:error C2678: 二进制“==”: 没有找到接受“std::ifstream”类型的左操作数的运算符(或没有可接受的转换)

qq_22984719 2015-07-08 03:47:44
部分代码如下
#include<iostream>
#include<fstream>
#include<iomanip>
#include<time.h>
#include<string.h>
#include<stdlib.h>
#include<conio.h>
#include<string>
#include"shixun.h"
using namespace std;

//显示错误部分
void chaxun()//读取信息
{

char name[20];
int grade = 0;
int num = 0;
float score;
ifstream in("player.dat", ios::in);
if (in == 0)
{
cerr << " 文件打开错误!\n";
exit(1);
}
cout << "*****************************************************************************" << endl;

cout << setiosflags(ios::right) << setw(10) << "姓名" << setw(15) << "等级" << setw(13) << "答题数量" << setw(10) << "分数" << '\n';

我用VS2013编译后提示
二进制“==”: 没有找到接受“std::ifstream”类型的左操作数的运算符(或没有可接受的转换)
求各位大神解决,我是C++初学者
...全文
3517 5 打赏 收藏 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
tiansk123 2016-08-12
  • 打赏
  • 举报
回复
if (!in) { cerr << " 文件打开错误!\n"; exit(1); } 或 if (!in) { cerr << " 文件打开错误!\n"; return 0; }
tiansk123 2016-08-12
  • 打赏
  • 举报
回复
in == 0写法不对,in是变量?
勉励前行 2016-08-12
  • 打赏
  • 举报
回复
ifstream in("player.dat", ios::in); if(in.is_open()) { } in 是一个实例,打开文件流,一般都会成功,这里好象是不成功会有异常(要自行确认). 用 is_open() 方法确认流已打开.
KT永恒国度 2015-09-08
  • 打赏
  • 举报
回复
直接if(!in)就行了
我不懂电脑 2015-09-08
  • 打赏
  • 举报
回复
if (0 == in)
内容概要:本文研究了计及需求侧响应的日前、日内两阶段鲁棒备用优化问题,提出了一种基于数据驱动的两阶段分布鲁棒优化方法,结合1-范数和∞-范数构造不确定性集合,有效刻画风电、光伏出力及负荷等多重不确定因素的波动特性。研究构建了电热综合能源系统的联合优化模型,通过协调日前调度计划与日内实时调整,充分发挥需求侧响应资源的灵活调节能力,提升系统在不确定性环境下的备用充裕性与运行鲁棒性,并采用Matlab进行建模与仿真验证,结果表明该方法在保障系统安全的同时显著改善了经济性。; 适合人群:具备电力系统分析、优化理论基础及Matlab编程能力的研究生、科研人员,以及从事新型电力系统调度、综合能源系统规划与运行的工程技术人员。; 使用场景及目标:①应用于高比例可再生能源接入背景下电力系统备用容量的优化配置;②为综合能源系统在多重不确定性下的鲁棒调度提供决策支持;③支撑需求侧资源参与系统辅助服务的机制设计与仿真验证,推动源荷互动协调发展。; 阅读建议:建议读者结合Matlab代码深入理解两阶段鲁棒优化的建模过程,重点关注不确定性集构建、鲁棒约束转化及C&CG等求解算法的实现细节,可进一步拓展至其他分布鲁棒优化形式或耦合更多能源形式的综合能源系统场景。

13,871

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧