ошибка: ожидаемый неквалифицированный идентификатор перед «const»

Я видел несколько вопросов по этой ошибке, но у меня нет большого опыта в создании класса на 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()
^

Если бы кто-нибудь мог объяснить мне, что это значит и что происходит, я был бы очень благодарен, спасибо!

1

Решение

Префикс имени класса, вероятно, отсутствует в определении вашего конструктора и деструктора. У вас должно быть что-то подобное в файле cpp:

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

QuickTimer::~QuickTimer()
{
}
1

Другие решения


По вопросам рекламы [email protected]