typedef struct address {
    int number;     
    string name;            // 名前
    string phoneNumber;     // 電話番号
}Address;

このような構造体を用意し、

list<Address> addressList;

このようにlistで宣言してソートは以下のようにしようと思いました。

sort( addressList.begin(), addressList.end(), 
    []( Address numA, Address numB )->int {
    return ( numA.number > numB.number );
});

VS2017を使用していますが以下のようなエラーが出てきましたが、どのような意味となるのでしょうか。
又、解決策としてはどのようにするのが正解なのでしょうか。よろしくお願いいたします。

重大度レベル  コード 説明  プロジェクト  ファイル    行   抑制状態
エラー C2784   'unknown-type std::operator -(const std::move_iterator<_RanIt> &,const std::move_iterator<_RanIt2> &)': テンプレート 引数を 'const std::move_iterator<_RanIt> &' に対して 'std::_List_unchecked_iterator<std::_List_val<std::_List_simple_types<address>>>' から減少できませんでした listSortTest    C:\Program Files\Microsoft Visual Studio\2017\Professional\VC\Tools\MSVC\14.10.25017\include\algorithm  2908