i agree with paulstreats you shouldn't go creating your own defines. you need to include the correct header file.
have you read the compiler's manual/programing guide as i suggested smewhere? i highly encourage you to read it.
FWIW the manual is here:
http://ww1.microchip.com/downloads/en/devicedoc/C18_Lib_51297d.pdfjump to page 14, and read on. if you will read the manual you will see that there are 3 "versions" of OpenADC()!
one is for PIC18CXX2, PIC18FXX2, PIC18FXX8, PIC18FXX39 series, another is for the PIC18C658/858, PIC18C601/801, PIC18F6X20, PIC18F8X20, and another is used for other All other PICs! based on the actual MCU you are using there are different defines that you can use! if you will jump to page 18, you will see that the version of OpenADC() used by other PICs require 3 argument. this would lead to the error you are having, you're only passing 2 arguments when 3 arguments are expected.
you might also be defining an incorrect MCU type, thus the compiler is using the a different version of OpenADC()! what is the actual MCU that you are using? what are you using together with the "-p" compiler option?
i just skimmed over the manual, within 15 minutes! if you're gonna develop using this tool for a long time, please read and understand the information in the manual.