Passando uma matriz como argumento em C ++

Estou escrevendo uma função de classificação por mesclagem e agora estou apenas usando uma matriz de casos de teste (não há entrada - isso é estático, por enquanto). Não sei como passar uma matriz como argumento. Aqui está o meu código agora:

//merge sort first attempt

#include <iostream>
#include <algorithm>
#include <vector>

int mergeSort(int[]);
int main()
{
int originalarray[] = {1, 3, 5, 7, 9, 2, 4, 6, 8, 10};
mergeSort(originalarray[]);
}

int mergeSort(int[] originalarray)
{
int num = (sizeof(originalarray)/sizeof(int));
std::vector<int> original(num);

if (num > 2) {
    return num;
}

// Fill the array using the elements of originalarray
// This is just for demonstration, normally original will be a parameter,
// so you won't be filling it up with anything.
std::copy(originalarray, originalarray + num, original.begin());

// Create farray and sarray of the appropriate size
std::vector<int> farray(num / 2);
std::vector<int> sarray(num - farray.size());

// Fill those using elements from original
std::copy(original.begin(), original.begin() + farray.size(), farray.begin());
std::copy(original.begin() + farray.size(), original.end(), sarray.begin());

mergeSort(farray);
mergeSort(sarray);    

}

Observe que essa função mergeSort não está funcionando, pois ainda não descobri como mesclá-las (essa é minha atribuição). Gostaria de classificar meus dois vetores antes de lidar com isso, e não posso compilar isso devido à minha necessidade de passar uma matriz como argumento. Eu não entendo dicas, então, se essa é a solução, minha desculpa é a ignorância. Estou aprendendo programação agora, com C ++ como primeira língua e só tenho uma compreensão básica dos recursos da linguagem. Obrigado pela ajuda

questionAnswers(7)

yourAnswerToTheQuestion