У меня есть класс, который определяет функцию с параметрами по умолчанию.Он работает нормально, если определение функции находится в заголовочном файле перед функцией, которая его вызывает.
Однако, если я переместлю его после вызывающей функции, C ++ Builder (2010) сообщит об ошибке слишком мало параметров.
заголовок может быть, например:
class TSomething
{
public:
void CallingFunction();
void Function(int a);
}
, а файл cpp может быть:
#include "Header.h"
TSomething::CallingFunction()
{
Function(); // "Too few arguments" here...
}
TSomething::Function(int a = 123)
{
//... some code here ...
}
Так что, если вызывающая функция находится перед "Function", она сообщает о слишком малом числе параметров.Я не понимаю почему, потому что он включает определение функции в операторе #include в файле cpp.Может кто-нибудь сказать мне, как изменить это так, чтобы он правильно принимает аргументы по умолчанию?Я могу переместить функцию (int a) над функцией CallingFunction, чтобы она работала до сих пор.