Algumas coisas importantes a serem consideradas:
Nessa parte
float raiz1[2] = baskara (a , b , c);
O que o programe entende é que você está passando os VALORES das variáveis A, B ,C... mas perceba que as variáveis A, B, C ainda não possuem valores. Se você quiser fazer o programa dessa maneira vai precisar saber ponteiros... Em vez de passar os valores de A, B, C você passaria o ENDEREÇO de MEMÓRIA de A, B, C... mas acho que não tem necessidade de complicar.
Nessa parte, dentro da função BASKARA
É importante lembrar que quando essa função é retornada.. o seu vetor raiz1 "morre"... para retornar um ponteiro é necessário utilizar ponteiros..e em conjunto fazer o seu vetor raiz1 estático, dessa maneira ele não "morreria" quando a função retorna-se.
A maneira mais fácil de resolver esse problema sem utilizar ponteiros é passar o seu vetor criado em main como argumento da função.
Com todas as modificações acima o programa ficaria assim
#include <iostream>
#include <cstdlib>
#include <math.h>
using namespace std;
int main ()
{
float a, b, c;
void baskara (float a, float b, float c, float vetor[]);
float raiz1[2];
cout<<"digite o valor de a: ";
cin>>a;
cout<<"digite o valor de b: ";
cin>>b;
cout<<"digite o valor de c: ";
cin>>c;
baskara (a , b , c, raiz1);
cout<<"As raizes sao: "<<raiz1[0];
cout<<"\nAs raizes sao: "<<raiz1[1];
system("pause>>null");
}
void baskara (float a, float b, float c, float vetor[])
{
vetor[0] = (-b + sqrt(b * b - 4 * a * c)) / (2 * a);
vetor[1] = (-b - sqrt(b * b - 4 * a * c)) / (2 * a);
}