On macOS High Sierra, with the most recent version of Rack (0.5.0):
src/p0wr.cpp:39:24: error: unknown class name 'ModeValueLight'; did you mean
'ValueLight'?
struct p0wrModeLight : ModeValueLight {
^~~~~~~~~~~~~~
ValueLight
../../include/app.hpp:72:8: note: 'ValueLight' declared here
struct ValueLight;
^
src/p0wr.cpp:39:24: error: base class has incomplete type
struct p0wrModeLight : ModeValueLight {
^~~~~~~~~~~~~~
../../include/app.hpp:72:8: note: forward declaration of 'rack::ValueLight'
struct ValueLight;
^
src/p0wr.cpp:41:3: error: use of undeclared identifier 'addColor'
addColor(COLOR_BLACK_TRANSPARENT);
^
src/p0wr.cpp:42:3: error: use of undeclared identifier 'addColor'
addColor(COLOR_RED);
^
src/p0wr.cpp:43:3: error: use of undeclared identifier 'addColor'
addColor(COLOR_YELLOW);
^
src/p0wr.cpp:44:3: error: use of undeclared identifier 'addColor'
addColor(COLOR_BLUE);
^
src/p0wr.cpp:66:11: error: no template named 'createValueLight'; did you mean
'createLight'?
addChild(createValueLight<LargeLight<p0wrModeLight>>(Vec(20, 51...
^~~~~~~~~~~~~~~~
createLight
../../include/rack.hpp:76:20: note: 'createLight' declared here
ModuleLightWidget *createLight(Vec pos, Module *module, int lightId) {
^
src/p0wr.cpp:66:11: error: no matching function for call to 'createLight'
addChild(createValueLight<LargeLight<p0wrModeLight>>(Vec(20, 51...
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../include/rack.hpp:76:20: note: candidate function template not viable:
requires 3 arguments, but 2 were provided
ModuleLightWidget *createLight(Vec pos, Module *module, int lightId) {
^
src/p0wr.cpp:67:11: error: no template named 'createValueLight'; did you mean
'createLight'?
addChild(createValueLight<LargeLight<p0wrModeLight>>(Vec(20, 75...
^~~~~~~~~~~~~~~~
createLight
../../include/rack.hpp:76:20: note: 'createLight' declared here
ModuleLightWidget *createLight(Vec pos, Module *module, int lightId) {
^
src/p0wr.cpp:67:11: error: no matching function for call to 'createLight'
addChild(createValueLight<LargeLight<p0wrModeLight>>(Vec(20, 75...
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../include/rack.hpp:76:20: note: candidate function template not viable:
requires 3 arguments, but 2 were provided
ModuleLightWidget *createLight(Vec pos, Module *module, int lightId) {
^
src/p0wr.cpp:68:11: error: no template named 'createValueLight'; did you mean
'createLight'?
addChild(createValueLight<LargeLight<p0wrModeLight>>(Vec(20, 100...
^~~~~~~~~~~~~~~~
createLight
../../include/rack.hpp:76:20: note: 'createLight' declared here
ModuleLightWidget *createLight(Vec pos, Module *module, int lightId) {
^
src/p0wr.cpp:68:11: error: no matching function for call to 'createLight'
addChild(createValueLight<LargeLight<p0wrModeLight>>(Vec(20, 100...
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../include/rack.hpp:76:20: note: candidate function template not viable:
requires 3 arguments, but 2 were provided
ModuleLightWidget *createLight(Vec pos, Module *module, int lightId) {
^
On macOS High Sierra, with the most recent version of Rack (0.5.0):