可以使用不同的头文件调用相同的函数吗?

Can same function be called with different header files?

本文关键字:函数 调用 可以使 文件      更新时间:2023-10-16

我有一个函数:

---展示我.cpp

void showme () {
   std::cout <<"I am " << T << endl;
}

T is a parameter that should come with a #define

-- 顶部.cpp

int main (int argc, char** argv) {
  // I want to call showme() with different "T" values defined by #define
  #define T 5
  showme();
  #define T 6
  showme();
}

我不确定是否有更好/有效的方法来做到这一点。

根据注释中的解释,您真正想要的是拥有一个template函数,因此您的示例应更改为:

#include <iostream>
template<size_t T> //or int or whatever other type you really need to use
void showme () {
   std::cout << "I am " << T << std::endl;
}
int main (int argc, char** argv) {
  showme<5>();
  showme<6>();
}

您应该更改函数以采用参数。调用函数时可以使用宏。

void showme (int T) {
   std::cout <<"I am " << T << endl;
}
int main (int argc, char** argv) {
  // I want to call showme() with different "T" values defined by #define
  #define T 5
  showme(T);
  #define T 6
  showme(T);
}