我有一个用 C++/CLI 编写的 GUI 应用程序,它有很多可配置的选项。我有一些重载函数可以从我的数据源中获取值,我想将我的选项连接到这些值。
所以这里有几个数据检索器:
bool GetConfigSingle(long paramToGet, String^% str, char* debug, long debugLength);
bool GetConfigSingle(long paramToGet, bool^% v_value, char* debug, long debugLength);
我希望Checked
按如下方式传入复选框的 getter/setter:
result = m_dataSource->GetConfigSingle(CONFIG_OPTION1, this->myOption->Checked, debug, debugLen);
...但由于某种原因,我收到了一个奇怪的编译器错误,这表明该Checked
值没有像我预期的那样被传递:
1>.\DataInterface.cpp(825) : error C2664: 'bool DataInterface::GetConfigSingle(long,System::String ^%, char*, long)' : cannot convert parameter 2 from 'bool' to 'System::String ^%'
以前,这段代码传入了复选框并修改了值本身,但我很想打破我们的数据收集当前对 Windows 窗体的依赖。
那么我在这里错过了什么?
[编辑]为了避免混淆,我已经按照最初的方式填写了函数定义——我试图减少不相关信息的尝试失败了。