-1

我们可以从同一个类的构造函数中调用静态函数吗?

class a{
    static void fun();
    a() {fun();}
};

链接代码时出错。我正在使用 Visual Studio C++,2010。

4

2 回答 2

3

是的,您可以 - 只要您也为静态函数提供函数定义。

于 2013-07-17T12:11:25.537 回答
3

我真的不明白这个问题。

如果您提供 Billz 和 Ogni42 所说的函数定义,它将起作用。

以下代码确实可以编译和工作:

#include <iostream>

class a {
public:
  a() { fun(); }

private:
  static void fun();
};

void a::fun() {
  std::cout << "BOAP" << std::endl;
}

int main() {
  a foo;
  return 0;
}
于 2013-07-17T12:21:04.570 回答