Mic*_*nen 4 c++ macos xcode gcc
我从xcode(3.2.4)/ gcc(4.0)得到错误:
/Users/admin/scm/audacity/mac/../src/toolbars/DeviceToolBar.cpp: In member function 'void DeviceToolBar::ShowInputDialog()':
/Users/admin/scm/audacity/mac/../src/toolbars/DeviceToolBar.cpp:817: error: no matching function for call to 'DeviceToolBar::ShowComboDialog(wxChoice*&, wxString)'
/Users/admin/scm/audacity/mac/../src/toolbars/DeviceToolBar.h:74: note: candidates are: void DeviceToolBar::ShowComboDialog(wxChoice*, wxString&)
Run Code Online (Sandbox Code Playgroud)
因此看起来它期望在ShowComboDialog中引用指针,但我不知道为什么因为签名显然是正常的指针.此外,如果它期望引用指针,我调用它的方式应该工作.这是第一个错误,并且之前没有特殊警告.
此外,这编译在MSVC 2008快递中.请给我一个线索.
//in the class def
//(only relevant portions included
class DeviceToolBar:public ToolBar {
public:
DeviceToolBar();
virtual ~DeviceToolBar();
void ShowInputDialog();
private:
void ShowComboDialog(wxChoice *combo, wxString &title);
wxChoice *mInput;
};
//in the cpp file
void DeviceToolBar::ShowInputDialog()
{
ShowComboDialog(mInput, wxString(_("Select Input Device")));
}
void DeviceToolBar::ShowComboDialog(wxChoice *combo, wxString &title)
{
//...
}
Run Code Online (Sandbox Code Playgroud)
Dan*_*her 10
问题不是第一个参数; 它是第二个.你是临时传递的wxString,但是函数期待引用.C++会自动将临时转换为const引用,但不能将其转换为引用.您需要将ShowComboDialogconst引用作为其第二个参数.
| 归档时间: |
|
| 查看次数: |
8666 次 |
| 最近记录: |