Where does the error come from?
You list "main" and ".cpp". To us it implies that you have two source files. One .cpp that contains the main() function and another .cpp that you refer to as ".cpp". These two files will be compiled separately. As two "translation units". (The resulting object files are linked into executable.)
Which of the two gives the error? Do they both include the header file?
What else is there?
Both of these are function
declarations:
1 2
|
void set_intrinsics( cv::Mat &cam_intrinsic ) ;
void set_intrinsics( Mat &cam_intrinsic ) ;
|
Whether they declare the same function depends on whether cv::Mat and Mat are same typename.
Function's implementation has body, not semicolon:
1 2 3
|
void set_intrinsics( cv::Mat &cam_intrinsic ) {
// implementation
}
|
Finally, your main() apparently has
variable with name 'cam_intrinsic'.
While it is probably logical and convenient to reuse the name for name of parameter, it could distract thinking. Remember that a function can be called in more than one occasion:
1 2 3
|
set_intrinsics( cam_intrinsic );
set_intrinsics( snafu );
set_intrinsics( bar );
|