Skip to content

function with source_location::curent() as argument cannot be in global space in MSVC #8

@flagarde

Description

@flagarde
#include <iostream>
#include <source_location/source_location.hpp>

source_location src_clone(source_location a = source_location::current())
{
    return a;
}

int main()
{
   auto s2 = src_clone();          // location should point here 
   std::cout
        << s2.line() << ' ' << s2.function_name() << '\n';
}

generate a C2457 error in MSVC https://docs.microsoft.com/en-us/cpp/error-messages/compiler-errors-1/compiler-error-c2457?view=msvc-170

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions