Assuming you want numerical approximations of the two solutions expressed in degrees
r1 = 100; r2 = 30; r3 = 70; r4 = 90; ?1 = 0; ?2 = 60;
a = -r1 + r2 Cos[?2 ] + r3 Cos[?3] + r4 Cos[?4];
b = r2 Sin[?2] + r3 Sin[?3 ] + r4 Sin[?4];
Map[{?3, ?4}/.#&, {ToRules[N[Reduce[{a==0 && b==0} , {?3, ?4}]/.{C[1]->0, C[2]->0}]]}]/Degree
gives you {{46.0492, -27.2805}, {-37.913, 35.4168}}
When you did not put a space between the ?3 or the ?4 and the Degree symbol it thought you meant to have names made up of those three characters.
Carefully study how my last line of code works. Try just the Reduce[ ] and look at the results. Then try the Reduce[ ]/.{ } and see how it changes. Then include N[ ] around this. Then include the {ToRules[ ]}. Then include the Map[ ]. Then include the /Degree. You are trying to learn how each of those steps were used to give you the solution in the form that you wanted.