2013-10-14 8 views
2

Существует множество тем по использованию необъявленного идентификатора, но никто не помогает мне. Большинство из них предназначены для разработки ios, и я, вероятно, хочу noobie, чтобы понять.Использование незаявленного идентификатора с openframeworks

это мой заголовок (урезанная проблемы):

#pragma once 

#include "ofMain.h" 

class ImageRayTracer { 

    public: 
     // empty constructor 
     ImageRayTracer(void); 
     void setHitColor(ofColor c); 

    private: 
     ofColor hitColor; 
}; 

это раздели моя реализация сводится к проблеме:

#include "imageRayTracer.h" 


ImageRayTracer::ImageRayTracer(void) { 
    hitColor.set(0); 
} 


// . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 

void setHitColor(ofColor c) { 
    //Use of undeclared identifier 
    hitColor = c; 
} 

У меня нет никаких проблем в конструкторе, но у меня есть проблема в методе setHitColor. Почему это? И как решить?

+0

Какое сообщение об ошибке? –

ответ

2
void setHitColor(ofColor c) { 
    //Use of undeclared identifier 
    hitColor = c; 
} 

пытается определить функцию в глобальном масштабе. Эта функция пытается назначить аргумент c неизвестному (необъявленному) hitColor. Чтобы определить функцию-член, вы должны присвоить ей имя класса, чтобы компилятор смог связать его с определением вашего класса:

void ImageRayTracer::setHitColor(ofColor c) { 
    //Use of undeclared identifier 
    hitColor = c; 
} 
2

Вы должны сказать, что setHitColor() - это метод ImageRayTracer, как вы это делали с конструктором.

void ImageRayTracer::setHitColor(ofColor c) { 
    //Use of undeclared identifier 
    hitColor = c; 
} 
+0

спасибо. Я исхожу из java, поэтому я просто так легко разбираюсь в таких вещах. – clankill3r

Смежные вопросы