whoami
whoami

Reputation: 1899

'transform': is not a member of 'std'

Here is my code

#include "pch.h"
#include <iostream>
using namespace std;

int main()
{
    // su is the string which is converted to lowercase
    std::wstring su = L"HeLLo WoRld";

    // using transform() function and ::toupper in STL
    std::transform(su.begin(), su.end(), su.begin(), ::tolower);
    std::cout << su << std::endl;
    return 0;
}

It generates the following compilation error.

1>c:\users\root\source\repos\consoleapplication7\consoleapplication7\consoleapplication7.cpp(14): error C2039: 'transform': is not a member of 'std'
1>c:\users\root\source\repos\consoleapplication7\consoleapplication7\consoleapplication7.cpp(14): error C3861: 'transform': identifier not found
1>c:\users\root\source\repos\consoleapplication7\consoleapplication7\consoleapplication7.cpp(15): error C2679: binary '<<': no operator found which takes a right-hand operand of type 'std::wstring' (or there is no acceptable conversion)
1>    0 Warning(s)
1>    3 Error(s)

What am I doing wrong here?

Upvotes: 6

Views: 13992

Answers (1)

Stephan Dollberg
Stephan Dollberg

Reputation: 34538

You need to include the header.

Add:

#include <algorithm>

Upvotes: 21

Related Questions