Есть ли в C ++ свободная функция `size (object)`?

Кажется, что большинство людей находят размерstring они просто используютmy_string.size() и работает нормально. Ну, я недавно сделал задание для класса, где я сделал ...

if (size(my_string) < 5)
    store[counter].setWeight(stoi(my_string));

Вместо....

if (my_string.size() < 5)
    store[counter].setWeight(stoi(my_string));

Но, к моему удивлению, мой инструктор, который, как мне кажется, запускает более старый компилятор, не смог запустить эту строку кода. На моем компиляторе это работает в обе стороны, и я не совсем уверен, почему.

Полная программа (выводит 4 для обоих):

#include <string>
#include <iostream>
using namespace std;

int main()
{
    string myvar = "1000";
    cout << "Using size(myvar) = " << size(myvar) << endl;
    cout << "Using myvar.size() = " << myvar.size() << endl;
}

Если кто-то может пролить свет на то, почему мое решение проблемы сработало на моей машине, а не на профессорах? Кроме того, в настоящее время я использую VS2015.

Ответы на вопрос(3)

Ваш ответ на вопрос