从g ++切换到clang ++后,操作数无效到二进制表达式断言发生错误

时间:2016-11-16 05:15:56

标签: c++ compiler-errors assert clang++

我感谢你对这件事的任何帮助,我已经用Google搜索并搜索了一下,我错过了正在发生的事情或如何修复它。

我有一个先前在命令行上使用g ++编译的代码,我已经为其创建了一个make文件,并且我正在使用clang编译器进行测试。我现在还没有遇到过它的问题..

这是错误

input.cpp:241:17: error: invalid operands to binary expression ('ifstream' (aka 'basic_ifstream<char>')
  and 'long')
            assert(casFile!=NULL);
                   ~~~~~~~^ ~~~~

它来自的代码部分是

char outfile[32],casfile[32];
ifstream outFile, casFile;

....other stuff unrelated...

casFile.open(casfile);
assert(casFile!=NULL);

位于文件顶部

#include "input.h"
#include <stdlib.h>
#include <stdio.h>
#include <cmath>
#include <vector>
#include <algorithm>
#include <assert.h>
#include <iostream>
#include <fstream>

using namespace std;

我有点困惑,因为我一直在使用它,直到我切换到铿锵声。有没有我失踪的旗帜?

-std=c++11 -stdlib=libc++ -g -Wall

我想我已经包含了所有相关信息。谢谢你的帮助!!

0 个答案:

没有答案