我正在修改我的integer
類(這不是我最新的副本,但它適用於-std=c++0x
)的過程。我遇到了一個輕微的問題:無論我做什麼,簡單的運算符重載都會拒絕工作。驗證碼:簡單的重載操作員=不工作
#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>
,但這也不起作用。
我錯過了什麼?
此外,賦值運算符不應該按值返回。 – 2012-03-14 10:30:06
您的帖子中缺少大寫字母。 – 2012-03-14 10:30:25
如果您試圖將整型轉換爲整數(我假設您正在做),您可能需要實現一個採用int而不是賦值運算符的拷貝構造函數。 – 2012-03-14 10:41:51