#include <iostream>
using namespace std;
class MBool
{
protected:
bool mData;
public:
MBool() : mData(false) {}
MBool(const MBool& rData) { mData = rData.mData; }
};
void myFunc ( const MBool& rBool )
{
}
bool test()
{
myFunc( MBool() );
myFunc( ( MBool() ) ); // <-- Error E2188 Expression syntax
myFunc( MBool( false ) );
myFunc( ( MBool( false ) ) );
}
int main() {
// your code goes here
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKY2xhc3MgTUJvb2wgIAp7CiAgIHByb3RlY3RlZDoKICAgICAgYm9vbCAgbURhdGE7ICAKICAgcHVibGljOgogICAgICBNQm9vbCgpIDogbURhdGEoZmFsc2UpICAgICAgICAgIHt9CiAgICAgIE1Cb29sKGNvbnN0IE1Cb29sJiAgckRhdGEpICAgICAgeyBtRGF0YSA9IHJEYXRhLm1EYXRhOyB9Cn07Cgp2b2lkIG15RnVuYyAoIGNvbnN0IE1Cb29sJiByQm9vbCApCnsKfQoKYm9vbCB0ZXN0KCkKewogICBteUZ1bmMoIE1Cb29sKCkgKTsKICAgbXlGdW5jKCAoIE1Cb29sKCkgKSApOyAgLy8gPC0tIEVycm9yIEUyMTg4IEV4cHJlc3Npb24gc3ludGF4CiAgIG15RnVuYyggTUJvb2woIGZhbHNlICkgKTsKICAgbXlGdW5jKCAoIE1Cb29sKCBmYWxzZSApICkgKTsgCn0KCmludCBtYWluKCkgewoJLy8geW91ciBjb2RlIGdvZXMgaGVyZQoJcmV0dXJuIDA7Cn0=
prog.cpp: In function 'bool test()':
prog.cpp:21:25: error: no matching function for call to 'MBool::MBool(bool)'
myFunc( MBool( false ) );
^
prog.cpp:21:25: note: candidates are:
prog.cpp:10:7: note: MBool::MBool(const MBool&)
MBool(const MBool& rData) { mData = rData.mData; }
^
prog.cpp:10:7: note: no known conversion for argument 1 from 'bool' to 'const MBool&'
prog.cpp:9:7: note: MBool::MBool()
MBool() : mData(false) {}
^
prog.cpp:9:7: note: candidate expects 0 arguments, 1 provided
prog.cpp:22:27: error: no matching function for call to 'MBool::MBool(bool)'
myFunc( ( MBool( false ) ) );
^
prog.cpp:22:27: note: candidates are:
prog.cpp:10:7: note: MBool::MBool(const MBool&)
MBool(const MBool& rData) { mData = rData.mData; }
^
prog.cpp:10:7: note: no known conversion for argument 1 from 'bool' to 'const MBool&'
prog.cpp:9:7: note: MBool::MBool()
MBool() : mData(false) {}
^
prog.cpp:9:7: note: candidate expects 0 arguments, 1 provided