1

我已经看到了一些关于这个错误的问题,但是我没有太多用 C++ 创建类的经验,所以我实际上并不明白答案的含义。我还应该指出,我没有编写此代码。

我收到标题中所述的错误,我相信它来自这个头文件,但我不知道错误的含义以及如何修复它。

这是文件:

#ifndef _QUICKTIMER_H_
#define _QUICKTIMER_H_

#include <cstdlib>
#include <string>
#include <chrono>

class QuickTimer {
public:
  QuickTimer(const std::string& prefix = "");
  ~QuickTimer();
private:
  std::chrono::high_resolution_clock::time_point mStartTime;
  const std::string mPrefix;
};

#endif

和完整的错误:

error: expected unqualified-id before ‘const’
 QuickTimer(const std::string& prefix) :
            ^  

error: expected ‘)’ before ‘const’

error: declaration of ‘~QuickTimer’ as non-member
 ~QuickTimer()
             ^

如果有人可以向我解释这意味着什么以及发生了什么,我将非常感激,谢谢!

4

1 回答 1

1

构造函数和析构函数的定义中可能缺少类名前缀。您应该在 cpp 文件中有类似的内容:

QuickTimer::QuickTimer(const std::string& prefix)
{
}

QuickTimer::~QuickTimer()
{
}
于 2015-09-21T04:52:25.823 回答