Hey Codeguru, I've been having some weird problems on my code when compiling; it seems like my program isn't able to see the Item struct I created on either of my attempts I wrote below:


----------========------------
--------- ATTEMPT #1 ----------
----------========------------


ItemDictionary.h
-----
#pragma once
#include "Item.h"

struct ItemDictionary {
Item* operator[](unsigned int i); // <-- C2143: syntax error: missing ';' before '*' ; C4430: missing type specifier - int assumed
static Item* Get(unsigned int i); // <-- C2143, C4430
...
};


Item.h
------
#pragma once

struct Item {
...
};


----------========------------
--------- ATTEMPT #2 ----------
----------========------------

ItemDictionary.h
-----
#pragma once
#include "Item.h"
#include "Item.cpp" // NOTE: Included Item.cpp here

struct ItemDictionary {
...
};


Item.h
------
#pragma once

struct Item {
...
};

Item.cpp
------
#pragma once
#include "Item.h"

Item::Item( ... ) // <-- C2653: 'Item': is not a class or namespace name
{ // <-- C4430: missing type specifier - int assumed
this->appearance = appearance; // <-- C2673: 'Item': global functions do not have 'this' pointers

...
}


----------------------------

Does anybody know whats going on? Why is my Item class invisible right now? If you have any tips or suggestions, I'd really appreciate it =] Thanks.