A few things about Mathematica.
= and := are very different things.
[ ] and ( ) are completely different things.
You can pass around function names, but perhaps not the way you are doing it.
I made some changes and tried this.
delta = Sqrt[u^2 - 4DC(theta - lambda)];
xi = Sqrt[u^2 - 4DC((theta + delta) - lambda)];
f[x_, t_, u_, greek_, pm1_, DC_] := Exp[x*(u + pm1greek)/(2DC)]*
Erfc[(x - pm1tgreek)/Sqrt[2DC*t]];
Conc[ x_, t_, u_, C0_, DC_, theta_, gamma_] := C0/2*Exp[-theta*t]*
(f[x, t, u, delta, -1, DC] + f[x, t, u, delta, 1, DC]) - C0/2*
Exp[-(gamma + theta)*t]*(f[x, t, u, xi, -1, DC] + f[x, t, u, xi, 1, DC]);
Conc[ x, t, u, C0, DC, theta, gamma]
That doesn't give me any error messages now.
Can you insert the values for your constants and see if you get a correct result?
If not then can you help me better understand what you want from this so I can try to fix it?
Please test that brutally before you even think of trusting it.