アプリ版:「スタンプのみでお礼する」機能のリリースについて

下記の記述で
1)静的でないデータメンバーはインラインとして宣言できません
2)識別子が必要です
3)';'が必要です
の3個のエラーがでます、解決方法をおしえてください。


----------------------記-----------------------
class クラス名{
public:
static inline int min(int i, int j {return i < j ? i : j;}
static inline int max(int i, int j {return i > j ? i : j;}
};

質問者からの補足コメント

  • 後、次のエラーがでます。

    型'int'は不要です。
    ':'の前に予期しないトークンがありました。関数の本体は無視されます

    No.3の回答に寄せられた補足コメントです。 補足日時:2020/02/29 10:06
  • 皆さん、お世話になりました。
    自己解決しました。
    原因はコンソールアプリなのにWindows.hをインクルードしていました。
    初歩の初歩のミスで申し訳ありませんでした。

      補足日時:2020/02/29 10:20

A 回答 (6件)

単純に、 ) を書き忘れているように見えるのですが

    • good
    • 0
この回答へのお礼

早速の回答ありがとうございます。
実際には')'は入っていましたが、質問の記載が間違っていました。
以下でもう一度回答お願いします。

static inline int min(int i, int j) {return i < j ? i : j;}
static inline int max(int i, int j) {return i > j ? i : j;}

お礼日時:2020/02/28 20:16

うーん、クラス宣言の中で定義した関数はinline扱いになるのでinlineを書く必要がないけど、逆にinlineを書いて拙いのかどうかよく分からないですね。

何にせよ質問のケースではinlineを書く必要がないです。除去してみましょう。
https://ja.cppreference.com/w/cpp/language/inline
    • good
    • 0
この回答へのお礼

回答をいただき有難うございます。inlineを除去しても結果は同じでした。

お礼日時:2020/02/29 20:48

確認ですが, 本当にこれだけのプログラムでそのようなエラーが出たのですか?



あとねんのため仕様した処理系も書いてください.
この回答への補足あり
    • good
    • 0
この回答へのお礼

Tacosanいつもお世話になっています。
ビジュアルスタディオ2019です。
ヘッダーファイルの中で記述しています。

お礼日時:2020/02/29 09:53

https://yohhoy.hatenadiary.jp/entry/20120115/p1
なるほど。マクロですか。
    • good
    • 0
この回答へのお礼

具体的な回答ありがとうございました。

お礼日時:2020/02/29 20:45

そう, MS のマクロのせい>#4.



ネタとしては有名だし, 実は質問文にあるエラーメッセージのうち
「静的でないデータメンバーはインラインとして宣言できません」
が不自然なことに気づけばマクロの可能性にも思い当たるはず.

あと, 「エラーの出る」プログラム例を出すように, 質問者には強くお願いしたい. この 5行だけのプログラムでエラーが出たわけじゃないんでしょ?
    • good
    • 0
この回答へのお礼

全く仰るとおりです。
でも長いコードの場合、何処から何処までを質問に書けばよいのか、余計なことを書いて文章が長くなり、かえって的を得ない質問にならなか判断に困るところです。
自己解決のため、ベストアンサーを付与しないでごめんなさい。

お礼日時:2020/02/29 20:45

「何処から何処までを質問に書けばよいのか」って, 自分で確かめることはできるでしょ? あなたのところでは, その 5行だけ (しか

もクラス名を「クラス名」として) のファイルをコンパイルしてエラーが出るんですか?
    • good
    • 0
この回答へのお礼

原因が何処なのか確かめることが出来れば、その部分を書けると思います。
今後はできるだけ、多くのコードを示したと思いますので今後ともよろしくお願いします。

お礼日時:2020/03/01 09:28

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!