#include template constexpr size_t cmStrLen(const char (&/*str*/)[N]) { return N - 1; } namespace ns1 { using std::strlen; } namespace ns2 { std::size_t strlen(const char* str) { return std::strlen(str); } } int main() { // String variable used for calling strlen() on a variable auto s0 = "howdy"; // Correction needed (void)strlen("Hello"); (void)::strlen("Goodbye"); (void)std::strlen("Hola"); (void)ns1::strlen("Bonjour"); (void)(sizeof("Hallo") - 1); (void)(4 + sizeof("Hallo") - 1); (void)(sizeof "Hallo" - 1); (void)(4 + sizeof "Hallo" - 1); // No correction needed (void)ns2::strlen("Salve"); (void)cmStrLen("Konnichiwa"); (void)strlen(s0); (void)(sizeof("Hallo") - 2); return 0; }