C ++ ожидал спецификатор типа для объекта класса - PullRequest
0 голосов
/ 27 июня 2019

Я пытаюсь создать объект класса с файлом заголовка, но продолжаю получать эту ошибку в основной функции.

Это файл заголовка:

helper.h

#include <opencv2/opencv.hpp>
#include <iostream>

using namespace std;
using namespace cv;

class helper {
public:
    helper();
    ~helper();

    void setLabel(cv::Mat& im, const std::string label, const cv::Point & or , const cv::Scalar col);
};

и это файл cpp:

helper.cpp

#include "helper.h"

helper::helper() {
}

void helper::setLabel(cv::Mat& im, const std::string label, const cv::Point & or , const cv::Scalar col)
{
    int fontface = cv::FONT_HERSHEY_SIMPLEX;
    double fontScale = 0.4;
    int thickness = 1;
    int baseline = 0;

    cv::Size text = cv::getTextSize(label, fontface, fontScale, thickness, &baseline);
    cv::putText(im, label, or , fontface, fontScale, col, thickness, CV_AA);
}

Теперь в main.cpp , когда я пытаюсь создать экземпляр:

main.cpp

#include "helper.h"
int main(){
    helper* helper = new helper;
}

Показывает эту ошибку:

Синтаксическая ошибка C2061: идентификатор 'helper'

Как я могу определить экземпляр этого класса в main?Я использую Visual Studio 2015 на Windows x64.

1 Ответ

2 голосов
/ 27 июня 2019

Используйте другое имя для переменной.

helper* obj = new helper;

Когда вы используете имя переменной, совпадающее с именем класса, имя класса затеняется именем переменной.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...