У меня есть набор определяемых пользователем функций vba, которые находятся в модуле excel, которые затем вызываются из электронной таблицы excel ... на этом этапе все работает нормально.
Меня попросили переместить vba из модуля на кодовую страницу рабочего листа. Когда я это сделал, я обнаружил, что не могу вызывать какие-либо функции из ячеек на листе ... имена просто не отображаются как существующие. Есть ли способ вызвать функции рабочего листа из ячейки Excel? Также, {номер возврата * 2; } int main () {cout << DoubleNumber (8); } ...
По словам моего учителя, писать пользовательские функции, как это, является плохой практикой:
int DoubleNumber(int Number)
{
return Number * 2;
}
int main()
{
cout << DoubleNumber(8);
}
Вместо этого он говорит всегда использовать форвардные объявления, даже если функции не нужны какие-либо знания друг о друге:
int DoubleNumber(int Number); // Forward declaration.
int main()
{
cout << DoubleNumber(8);
}
int DoubleNumber(int Number) // Implementation.
{
return Number * 2;
}
Я нахожу это особенно странным, так как он подчеркнул важность того, чтобы предварительное объявление и реализация были в точности одинаковыми, иначе вы получите ошибки. Если это так важно, почему бы просто не поставить все это выше main ()
?
Итак, действительно ли это плохая практика - объявлять и реализовывать одновременно? Это вообще имеет значение?