У меня есть: < /p>
class MyClass
{
Something m_something;
void DoThisAndThat()
{
CallMethod(m_something);
}
};
that callmethod () имеет форму:
void CallMethod(Something&&);
По какой-то причине компилятор жалуется, что не существует метода сопоставления, чтобы вызвать, что callmethod () :
"Candidate function not viable: no known conversion from 'Something' to 'Something&&'.
< /code>
Что не так? Как это исправить? Насколько я понимаю, это должно работать как есть.template
class Something
{
public:
T data;
};
class MyOtherClass
{
public:
void CallMethod(Something&& something)
{
}
};
class MyClass
{
public:
void DoThisAndThat()
{
m_my_other_class.CallMethod(m_something);
}
MyOtherClass m_my_other_class;
Something m_something;
};
Подробнее здесь: https://stackoverflow.com/questions/797 ... s-not-work