Ошибка Ошибка C1075 "{": не найдена несоответствующая лексема c++ VS22

вот код:

#include <iostream>
#include <fstream>
#include <vector>

using namespace std;

template <class T>
class Writer {
private:
    vector<T> data;
public:
    Writer (vector<T> data) {
        this->data = data;
    }

    void write2file(ofstream* file) {
        long dataSize = (long)data.size();
        file->write((char*)(&dataSize);
    }
};


int main() {
    vector<int> vec = { 5, 10, 50, 60, 40, 150 };
    Writer<int> w(vec);

    ofstream file("data.txt", ios::binary);
    w.write2file(&file);
}

Я пытаюсь записать значение long dataSize = ...; в файл.

Ошибка на строке 18: file->write((char*)(&dataSize);


Ответы (0 шт):