嗨,我今天才刚开始使用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/

10-10 02:34