gpt4 book ai didi

c++ - 数据库。错误 C2352 : illegal call of non-static member function

转载 作者:行者123 更新时间:2023-11-28 00:07:27 26 4
gpt4 key购买 nike

CSchedulerDlg 类具有成员函数:

bool CSchedulerDlg::Insert(CString SQL, CDatabase* dataBase)
{
if (shSysDefaults == NULL)
return false;
dbUtil.ExecuteSQL(dataBase,SQL);
return true;
}

如果我写:

CString query = "hello"; 
CDatabase* db = NULL;
Insert(query, db );

然后我得到错误:

error C2597: illegal reference to non-static member 'CSchedulerDlg::db '

我该如何修复这个错误?

最佳答案

您需要 CSchedulerDlg 的实例来调用 Insert,因为它不是静态函数。

CString query = "hello"; 
CDatabase* db = NULL;
CSchedulerDlg foo; // CSchedulerDlg Instance
foo.Insert(query, db ); // call insert on foo

你需要一个实例的原因是每个非静态函数都有一个类类型指针的隐藏参数。参数是应该调用函数的实例。

关于c++ - 数据库。错误 C2352 : illegal call of non-static member function,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34731345/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com