В h файле у меня объявлен enum
#pragma once
enum Color
{
red = 1,
green,
blue
};
В другом h файле есть такое объявление:
SetColor(Color color);
Но компилер ругается:
c:\Project\Sets.h(17) : error C2226: syntax error : unexpected type 'Color'. Что я сделал не так, вроде все как Липпман прописал
Здравствуйте, <Аноним>, Вы писали:
А>В h файле у меня объявлен enum
А>В другом h файле есть такое объявление:
А>SetColor(Color color);
А>Но компилер ругается:
Color color = red;
SetColor(Color color);
Еще хорошо бы писать, какой именно компилятор.
Здравствуйте, glyph, Вы писали:
G>Здравствуйте, <Аноним>, Вы писали:
А>>В h файле у меня объявлен enum
А>>В другом h файле есть такое объявление:
А>>SetColor(Color color);
А>>Но компилер ругается:
G>G> Color color = red;
G> SetColor(Color color);
G>
G> Еще хорошо бы писать, какой именно компилятор.
MSVC 7-ой версии
Здравствуйте, glyph, Вы писали:
G>G> Color color = red;
G> SetColor(color); //конечно же
G>
Здравствуйте, Аноним, Вы писали:
S>>файл с определение энума инклудил?
А>Да, конечно
В правильном порядке?
/// enum.h
#pragma once
enum Color { ... };
/// func.h
#pragma once
#include "enum.h"
void setColor(Color);
/// main.cpp
#include "func.h"
...
Есть очень простое правило:
Упоминаешь в .cpp — включай .h в этот .cpp. Упоминаешь в .h — включай и в него тоже.
Здравствуйте, Аноним, Вы писали:
А>В h файле у меня объявлен enum
А>#pragma once
А>enum Color
А>{
А> red = 1,
А> green,
А> blue
А>};
А>В другом h файле есть такое объявление:
А>SetColor(enum Color color);
А>Но компилер ругается:
А>c:\Project\Sets.h(17) : error C2226: syntax error : unexpected type 'Color'. Что я сделал не так, вроде все как Липпман прописал
Здравствуйте, Alexeib, Вы писали:
А>>SetColor(enum Color color);
в том случае, если это язык Си. В С++ это не требуется.