Skip to content

Build error when modify value #1998

Closed
Closed

Description

@renweihang

Hi, all

When build code ,got this error: ,bug use g++ -fpermissive test.cpp can build success and work success, how to fix this bug

Snip20200319_1

The follow is my code :
`
#include
#include
#include <nlohmann/json.hpp>

using namespace nlohmann;

int main()
{
constexpr auto jsfile = "/home/parallels/nlohmanntest/sensors.json";
std::ifstream jsonFile(jsfile);
if (!jsonFile.is_open()){
std::cout << "Unable to open json file" << std::endl;
}
auto sensors = json::parse(jsonFile, nullptr, false);
if (sensors.is_discarded()){
std::cout << "Invalid json - parse failed" << std::endl;
}

for (const auto& sensor : sensors){
    const json newType = (long int)130;
    sensor["sensorType"] = newType;
}
jsonFile.close();

std::ofstream newFile(jsfile, std::ios::trunc | std::ios::out | std::ios::in);
newFile << sensors.dump(4) << std::endl ;

return 0;

}
`
thanks a lot~~

Activity

  1. renweihang commented on Mar 19, 2020

    @renweihang
    Author

    I find the error : for (const auto& sensor : sensors) ==> for (auto& sensor : sensors),
    so close the issue

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions