Hello, OnlineGDB Q&A section lets you put your programming query to fellow community users. Asking a solution for whole assignment is strictly not allowed. You may ask for help where you are stuck. Try to add as much information as possible so that fellow users can know about your problem statement easily.

Who can solve this C++ problem? (Making std::format work with your own object types)

+1 vote
asked Jan 9 by Areeb Sherjil (1,720 points)

I want to be able to write the following:

std::format("My new box, Box({:.2},{:.2},{:.2})", box.getLength(), box.getWidth(), box.getHeight());

to

std::format("My new box, Box({:.2},{:.2},{:.2})", box.getLength(), box.getWidth(), box.getHeight());

This is what I've done so far:

template <>

class std::formatter<Box> :public std::formatter<double>

{

public:

    using std::formatter<double>::format;

    auto format(const Box& box, auto& context)

    {

        auto iter = format(box.getLength(), context);

        context.advance(iter);

        out = format(box.getWidth(), context);

        context.advance(iter);

        return format(box.getHeight(), context);

    

    }

}; The box class definition is inside another header file. As you can see this code above does not work.

1 Answer

0 votes
answered 5 days ago by xDELLx (9,000 points)
First , which compiler does this compile on? I tried the online compiler here , latest gcc on local didnt work.

Second , If it compiled for you ,maybe you can shrae the error !1
Welcome to OnlineGDB Q&A, where you can ask questions related to programming and OnlineGDB IDE and and receive answers from other members of the community.
...