You have two good options here. You could set the size of the vector to 4, and then assign new values to each entry:
vector<employee> emp(4); // starts with 4 objects
...
// in the loop
emp[i] = temp;
// or
emp.at(i) = temp;
Or you could not set an initial size and just add elements to the vector. I would use push_back instead of insert for that:
vector<employee> emp; // starts empty
...
// in the loop
emp.push_back(temp);
I'd prefer the second version, because the first creates 4 objects and then ignores them.