嗨,我今天才刚开始使用C ++,我正在使用复选框。我尝试在if语句或其他任何语句中使用CheckBox1->Checked
,但是它不起作用。
错误是:
错误2错误C2227:“->已检查”的左侧必须指向类/结构/联合/泛型类型
编辑:该代码是:
void function ()
{
if (1001->Checked)
{
Sleep(2000);
}
}
最佳答案
如果看不到您的某些代码,很难提供有针对性的帮助。
但是,通常会出现该错误消息,因为要取消引用的项不是指针。
检查以确保其类型正确。应该是以下内容:
tCheckBox *CheckBox1;
一种可能性是,您声明它不是作为复选框的指针,而是声明为复选框本身:
tCheckBox CheckBox1;
注意那里缺少星号,否则将其标记为指针。在这种情况下,如果框架允许,则应使用
CheckBox1.Checked
而不是CheckBox1->Checked
(这不是标准的C ++,因为该野兽没有GUI库的概念)。如果这样做没有帮助,请发布代码,以便我们提供更好的建议。
更新:
if (1001->Checked) ?????
1001不是指针-它不是任何描述的变量,它是整数常量。
您需要声明并使用某种描述的变量。我认为,第一步是阅读框架文档,并/或获得一些可编译并正常工作的示例代码,以此为基础进行初步工作。
关于c++ - 调用成员函数时出错,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1517895/