integer
クラスを変更中です(これは最新のコピーではありませんが、-std=c++0x
で動作します)。 少しでもという問題が発生しました。単純な演算子のオーバーロードは、私が何をしても拒否します。このコード:operator = not workingの単純なオーバーロード
#include <deque>
#include <iostream>
#include <stdint.h>
class integer{
private:
std::deque <uint8_t> value;
public:
integer(){}
integer operator=(int rhs){
return *this;
}
};
int main() {
integer a = 132;
return 0;
}
は私与える:error: conversion from ‘int’ to non-scalar type ‘integer’ requested
が、operator=
を過負荷の全体のポイントではないでしょうか? int
の部分をtemplate <typename T>
に変更しましたが、それでも機能しません。
私には何が欠けていますか?
さらに、代入演算子は値渡しではなりません。 –
投稿に大文字がありません。 –
整数を整数にキャストしようとしている場合(あなたがやっていると仮定)、代入演算子の代わりに整数をとるコピーコンストラクタを実装したいかもしれません。 –