C++ C2665: ни одна перегруженная функция не может преобразовать все типы аргументовC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 C++ C2665: ни одна перегруженная функция не может преобразовать все типы аргументов

Сообщение Anonymous »

Я создаю встроенное приложение на C++ и пытаюсь реализовать систему свойств. Я давно не писал на C++; Мне сложно разобраться в проблеме.
Вот мой код:

Код: Выделить всё

// Property class
template 
class ReadOnlyProperty
{
public:
typedef T (*GetterFunc)();

protected:
GetterFunc GetterFuncField;

public:
ReadOnlyProperty(GetterFunc Getter) : GetterFuncField(Getter) {}

// ReSharper disable once CppNonExplicitConversionOperator
operator const T() const
{
return GetterFuncField();
}

T& Value()
{
return GetterFuncField();
}

T& operator()()
{
return GetterFuncField();
}

const T& operator()() const
{
return GetterFuncField();
}
};

template 
class Buffer
{
protected:
T*     MinAddrPointer;
T*     MaxAddrPointer;
size_t CapacityField;

public:
Buffer(T* StorageArray, const size_t StorageCapacity)
{
MinAddrPointer = StorageArray;
MaxAddrPointer = StorageArray + Capacity - 1;
CapacityField  = StorageCapacity;
}

ReadOnlyProperty      MinAddr   {[this]()-> T*      {return this->MinAddrPointer;}};
ReadOnlyProperty      MaxAddr   {[this]()-> T*      {return this->MaxAddrPointer;}};
ReadOnlyProperty  Capacity  {[this]()-> size_t  {return this->CapacityField;}};
};

int main()
{
std::cout 

Подробнее здесь: [url]https://stackoverflow.com/questions/78693283/c-c2665-no-overloaded-function-could-convert-all-the-argument-types[/url]
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»