我正在开发一个MFC应用程序,并在类头中声明了一个流对象,然后在构造函数中初始化该对象,并在同一类的其他方法中使用。我遇到以下错误:
错误C2678:二进制'
我搜索了这个问题,找到了许多解决方案,即有一些建议:
我得到的其他一些信息是关于这个错误何时发生的。但我所得到的并不能解决我的问题。请查看我的代码:
CGroupComboBox。h:
private:
std::ofstream fptr;
CGroupComboBox。cpp:
//Constructor
CGroupComboBox::CGroupComboBox()
: m_dropdownListAutoWidth(true)
, m_autocomplete(true)
, m_selectionUndoByEscKey(true)
{
fptr.open("test.txt",std::ios::out); //Initialization of fptr
}
//Member Function
int CGroupComboBox::FindString(int nStartAfter, LPCTSTR lpszString) const
{
fptr<<"I am FindString.\n"; //Trying to write something
//Other Code
}
//Destructor
CGroupComboBox::~CGroupComboBox()
{
//Other Code
fptr.close();
}
我做错了什么?
错误C2678:二进制'
这就是答案<代码>
要解决此问题,请从FindString方法中删除const
由于fptr可以从const限定函数修改,因此应将其标记为可变函数。或者,您可以在查找字符串中使用常量强制转换。
您使用限定符const声明了此成员函数
int CGroupComboBox::FindString(int nStartAfter, LPCTSTR lpszString) const
^^^^^
因此,在这种情况下,此具有类型const CGroupComboBox*,您不能更改此指向的对象的数据成员。
然而,本声明
fptr<<"I am FindString.\n"; //Trying to write something
需要非常量数据成员fptr。
因此编译器发出错误。
解决方案之一是对数据成员fptr使用说明符mutable
我正在尝试编译以下代码: VS2012 C编译器返回以下编译错误: ... VC\包含\实用程序(219):错误C2678:二进制 '==': 找不到运算符,该运算符采用“const Point”类型的左侧操作数(或者没有可接受的转换) GCC C编译器返回以下编译错误: /usr/include/c /4.8/bits/stl_pair.h: 在'bool std::运算符==(constd::
我很沮丧,我可能无法很好地解释,但基本上我试图编码一个音乐应用程序播放器,但每当我点击按钮,应用程序只是崩溃。Logcat真的帮不了什么忙,因为我不知道它出了什么问题。请帮帮我 主要活动。Java语言 } activity_main.xml: 登录。java:“ }" activity_login.xml:" 错误:
我正在使用maven项目运行selenium测试,但是当我运行测试文件时,我收到了错误:无法连接到二进制FirefoxBinary(C:\Program Files(x86)\Mozilla Firefox\Firefox)。在端口7055上。它打开FF an的空白页,然后测试结果抛出错误: 这些是我的文件: 我有FireFox 51.0和selenium-java 2.45.0(jar)。
我有一个用编写的基于的测试套件。当我从执行它时,它工作得很好。当我在中构建它时,会收到以下错误消息。 组织。openqa。硒。WebDriverException:未知错误:找不到Chrome二进制文件(驱动程序信息:chromedriver=2.31.488763(092de99f48a300323ecf8c2a4e2e7cab51de5ba8),平台=Windows NT 6.3。9600 x
问题内容: 我在运行问答游戏时出错。这样的事情(打开游戏活动时)。我的应用程序停止,并在第0行上显示了二进制XML文件错误。有点奇怪,因为我没有在第0行看到这样的问题,所以我需要大家的帮助。谢谢! 其中MainGameActivity.java:36是: activity_game_main.xml: 问题出在哪里? 问题答案: 问题出在库本身,如果您检查: 如您所见,唯一接受颜色值, 不 接受颜
二进制运算符"*"的操作数类型错误 我在编译过程中得到的错误是二进制运算符的坏操作数类型,表示:第一种类型:int第二种类型:int[],我只能使用这个逻辑。以下是我节目的一部分