bundle of invalid errors: C2059, C2143, C2181, C2660
===

This bundle of errors is caused by one function, and none of these erros are valid

 - error C2059: syntax error : '=' 
 - error C2143: syntax error : missing ';' before '{' 
 - error C2181: illegal else without matching if 
 - error C2660: 'Lexicon::convertOntology' : function does not take 0 arguments

    string Lexicon::convertOntology(string input, int d, string out, string temp) // C2059; C2143
    {
    	if (in.length() == 0 && temp.length() == 0) {return out; //check for completed conversion //C2181
    	} else {
    		int r = 1;
    		if (d == 1) r = 0; 
    		if (in[0] == '.' || in[0] == '-' || in == "") { //found deliminator or end //C2059; C2143
    			return convertOntology(in.substr(1), d, out+=vectorSearch(list, temp, 0, d, r), ""); //convert and check // C2143; C2660
    		} else return convertOntology(in.substr(1), d, out, temp); //increment and check
    	}
    }

I did not place all the errors, they are repeated 14 times - it seems clear that these are not errors but is an issue with the compiler parsing the text; there is something upstream from this that is unmatched. I checked the previous function and checked the lines prior to where this function is called and found nothing.

How do I resolve these errors?