C ++ неправильно вычитает, используя руководство - PullRequest
0 голосов
/ 07 декабря 2018
template <typename T>
class SomeClass {
public:
    using container = std::vector<T>;

    container  buffer;
public:
    SomeClass(T elem): buffer({elem})  {
    }
};


SomeClass(char const*) -> SomeClass<std::string>;

int main() {

    std::cout << typeid(SomeClass<char const*>).name() << std::endl;

    SomeClass a("test");

    std::cout << typeid(a).name() << std::endl;

    return 0;
}

Я указал руководство по преобразованию из char const* в std::string, как я видел в примере, но вывод дает мне

class SomeClass<char const *\>

class SomeClass<char const *>

Я ожидал бы, что оба типа будут созданы в std :: string, а не в char const *

Как бы я изменил этот код для получения такого вывода?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...