Question: I started learning C++ using a ebook and got interupted by a few lines, which I think are a bit outdated. Anyway, what I am trying to do is using a preprocessor directive as a function parameter which isnt working:

```
#define TitleLabelId 1000;

//....

hTitleText = CreateWindow(L"STATIC",
                          L"Test Text",
                          WS_VISIBLE | WS_CHILD,
                          0, 0,
                          300, 20,
                          hWnd,
                          (HMENU)TitleLabelId,
                          hInst,
                          NULL);

```

This gives me an compile error, while this will give me a correct result:

```
HMENU hm = (HMENU)TitleLabelId;

hTitleText = CreateWindow(L"STATIC",
                          L"Test Text",
                          WS_VISIBLE | WS_CHILD,
                          0, 0,
                          300, 20,
                          hWnd,
                          (HMENU)TitleLabelId,
                          hInst,
                          NULL);

```

I tried to outsource the Label Text aswell but unfortunateley it didnt work either using the following directive:

```
#define TitleText L"Blob Color War";

```

Is it anything with the syntax I have overseen? Thanks in advance!

Answer: 
I was getting the same error but I could not even start the hive shell. After trying the very useful hive debug command: 

```
hive -hiveconf hive.root.logger=DEBUG,console

```

I was able to see that Hive could not find a valid Kerberos TGT. You will see in the debug info something about SASL negotiation failed and no valid Kerberos TGT. My solution was to run

```
kinit

```

before running the hive CLI.
If it is in local machine, looks like you have another terminal opened with hive shell/session. You can have only one session using embedded derby data base. Close all other hive sessions and try.