C++のエラー1001について – プログラミング – Home

通知
すべてクリア

C++のエラー1001について


ナイト
 ナイト
(@ナイト)
ゲスト
結合: 17年前
投稿: 1
Topic starter  

 C++で、クラスの中で、operator+()は普通にできるのに、

friend operator+()は、エラー1001がきます。なぜなのでしょうか?

ちなみに、friend operator*() は、普通にいきます。

サポされてないのでしょうか?(;;)


引用解決済
トピックタグ
tetrapod
 tetrapod
(@tetrapod)
ゲスト
結合: 21年前
投稿: 830
 

具体的にどんなコードをどのバージョンのコンパイラで組んだのかわからないと
なにがなんだかわからんが・・・

class hoge_t {
friend hoge_t operator+(const hoge_t&, int);
int x;
public:
hoge_t(int x0) : x(x0) {}
int get_value() const { return x; }
};

hoge_t operator+(const hoge_t& l, int r) {
return hoge_t(l.x+r);
}

int main() {
hoge_t x(0);
return (x+3).get_value();
}

いろんなコンパイラでまったく問題なし


返信引用
あー
 あー
(@あー)
ゲスト
結合: 17年前
投稿: 18
 

質問はまともな日本語で書いてくれ


返信引用
PATIO
(@patio)
Famed Member
結合: 3年前
投稿: 2660
 

とりあえず、追加発言の所にある「使用上の注意」を読んでください。
最低限書く必要があることについてきちんと書いてあります。

あと、実際の自分のソースを提示した方が間違いを指摘してもらえる
可能性が高いので量がとんでもなく多いとかで無いなら提示した方が
話が早いです。
あまりにソースの量が多いなら状況を再現できる最小限のソースを
調べて、提示してください。
実は案外これをやっている最中に問題が解決したりして。


返信引用
ITO
 ITO
(@ITO)
ゲスト
結合: 22年前
投稿: 1235

返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました