Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Much easier fix for min vs std::min issue #1785

Open
@dberlin

Description

@dberlin

(It's not obvious where the website docs live in github, or i'd just submit a pull request)
The troubleshooter for the std::min vs arduino min macro (https://arduinojson.org/v6/troubleshooter/?utm_source=github&utm_medium=readme#compiletime/macro-min/success) says to disable std::string/std::stream support.

Just to flag there is actually a much easier fix that does not require compiler flags and should work everywhere.

Before including ArduinoJson.h, do this:

#include <Arduino.h>#undef min

min is guaranteed to be defined in C++ so we don't have to worry that we will remove the only definition (it's also supposed to be an inline function and not a macro, which is why it conflicts in the first place)

Including the header ourselves guarantees that all the macros are defined and that the header won't be reincluded by someone else.
#undef min then removes the conflicting macro definition.
This will work:

  1. On all systems where someone uses ArduinoJSON
  2. whether the min macro exists or not.
  3. without removing support for std::*

Figured i would flag this.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions


      [8]ページ先頭

      ©2009-2025 Movatter.jp