transform(mystr.begin(), mystr.end(), mystr.begin(), tolower);
Tôi đang sử dụng hàm chuyển đổi để tạo chuỗi tất cả các chữ thường, nhưng ngay cả sau khi viết "using namespace std;" ở trên cùng của chương trình của tôi, tôi nhận được một loạt các lỗi (khi viết như trên). Khi tôi bao gồm toán tử :: trước tham số của hàm không thích (như dưới đây) thì không. Tại sao điều này? Tôi nghĩ chức năng của người chịu đựng nằm trong không gian tên cũ và nó sẽ hoạt động như tôi đã nói ở trên.:: toán tử cần thiết để sử dụng với tolower()?
transform(mystr.begin(), mystr.end(), mystr.begin(), ::tolower);
Tôi có những điều sau đây bao gồm:
#include <iostream>
#include <fstream
#include <sstream>
#include <algorithm>
#include <vector>
Trong thông báo lỗi tôi thấy:
error: no matching function for call to 'transform(std::basic_string<char>::iterator, ...
sau đó nó trở thành nơi 'ToLower' nằm trong danh sách tham số
, <unresolved overloaded function type>);'
Khi bạn có "toàn bộ các lỗi", thật hữu ích khi nói chính xác chúng là gì. –