---
title: "Visual C++ nybörjarproblem"
type: "forum-thread"
url: "https://www.webforum.nu/amne/c-cpp/56640-visual-c-nybörjarproblem"
topic: "C/C++"
topic_url: "https://www.webforum.nu/amne/c-cpp"
author: "Pellefant"
published: "2002-10-21T00:20:14.000Z"
updated: "2002-10-29T13:56:03.000Z"
replies: 9
views: 390
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/c-cpp/56640-visual-c-nybörjarproblem"
---

# Visual C++ nybörjarproblem

## #1 — Pellefant, 2002-10-21T00:20Z

Hej!

Håller på att gå igenom "Lär dig Visual C++ på 21 dagar", har redan kört fast på dag 2. Har lagt till nedanstående kod, till den automatiskt genererade koden,  till en övning(där man har en dialogruta), och efter det så får jag errors, innan gick det fint att kompilera, men nu när man lägger händelser till knapparna så blir det en hel del fel.  :(

Jag har kommit till en punkt när man enligt boken ska kompilera, (och få 0 fel), har även läst till slutet av kapitlet om det skulle vara ngt övergripande som ska läggas till, men inte hittat något. 

Detta har jag lagt till åp den plats i den färdiga koden, som boken anger att man ska göra.

```

BOOL CDay2Dlg::OnInitDialog()
{
CDialog::OnInitDialog();

// TODO: Add extra initialization here

///////////////////////
// MY CODE STARTS HERE
///////////////////////
// Put a default message in the message edit
m_strMessage = "Place a message here";
// Set all of the check boxes to checked
m_bShowMsg = TRUE;
m_bShowPgm = TRUE;
m_bEnableMsg = TRUE;
m_bEnablePgm = TRUE;
// Update the dialog with the values
UpdateData(FALSE);
///////////////////////
// MY CODE ENDS HERE
///////////////////////
	
return TRUE;  // return TRUE  unless you set the focus to a control
}

void CDay2Dlg::OnSysCommand(UINT nID, LPARAM lParam)
{
if ((nID & 0xFFF0) == IDM_ABOUTBOX)
{
CAboutDlg dlgAbout;
dlgAbout.DoModal();
}
else
{
CDialog::OnSysCommand(nID, lParam);
}
}

void CDay2Dlg::OnExit()
{
//TODO: Add your control notification handler code here
///////////////////////
// MY CODE STARTS HERE
///////////////////////
// Exit the program
OnOK();
///////////////////////
// MY CODE ENDS HERE
///////////////////////
}

void CDay2Dlg::OnShwmsg()
{
// TODO: Add your control notification handler code here
///////////////////////
// MY CODE STARTS HERE
///////////////////////
// Update the message variable with what the user entered
UpdateData(TRUE);
// Display the message for the user
MessageBox(m_strMessage);
///////////////////////
// MY CODE ENDS HERE
///////////////////////
}
```

Errors:

\--------------------Configuration: Day2 - Win32 Debug--------------------
Compiling...
Day2Dlg.cpp
D:\\Program\\Microsoft Visual Studio\\MyProjects\\Day2\\Day2Dlg.cpp(132) : error C2601: 'OnInitDialog' : local function definitions are illegal

D:\\Program\\Microsoft Visual Studio\\MyProjects\\Day2\\Day2Dlg.cpp(158) : error C2601: 'OnSysCommand' : local function definitions are illegal

D:\\Program\\Microsoft Visual Studio\\MyProjects\\Day2\\Day2Dlg.cpp(171) : error C2039: 'OnExit' : is not a member of 'CDay2Dlg'

d:\\program\\microsoft visual studio\\myprojects\\day2\\day2dlg.h(14) : see declaration of 'CDay2Dlg'

D:\\Program\\Microsoft Visual Studio\\MyProjects\\Day2\\Day2Dlg.cpp(172) : error C2601: 'OnExit' : local function definitions are illegal

D:\\Program\\Microsoft Visual Studio\\MyProjects\\Day2\\Day2Dlg.cpp(187) : error C2039: 'OnShwmsg' : is not a member of 'CDay2Dlg'

d:\\program\\microsoft visual studio\\myprojects\\day2\\day2dlg.h(14) : see declaration of 'CDay2Dlg'

D:\\Program\\Microsoft Visual Studio\\MyProjects\\Day2\\Day2Dlg.cpp(188) : error C2601: 'OnShwmsg' : local function definitions are illegal

D:\\Program\\Microsoft Visual Studio\\MyProjects\\Day2\\Day2Dlg.cpp(209) : error C2601: 'OnPaint' : local function definitions are illegal

D:\\Program\\Microsoft Visual Studio\\MyProjects\\Day2\\Day2Dlg.cpp(236) : error C2601: 'OnQueryDragIcon' : local function definitions are illegal

D:\\Program\\Microsoft Visual Studio\\MyProjects\\Day2\\Day2Dlg.cpp(239) : fatal error C1004: unexpected end of file found
Error executing cl.exe.

Permalänk: https://www.webforum.nu/p/56640

## #2 — UlfT, 2002-10-21T10:13Z

Hur ser filen "day2dlg.h" ut? Man skulle förvänta sig att du har deklarerat din klass där, inklusive prototyper till de metoder som klassen ska ha. Frågan är om du gjort det.

Permalänk: https://www.webforum.nu/p/829093

## #3 — Pellefant, 2002-10-21T12:34Z

Hej!

Tack för att du svarar. :)

Boken kanske inte är så bra ändå, det är att man ska klicka här och där, men förklarar inte alltid varför, samt att jag läste på amazon att den tydligen ska ha en del error i koden. :(

Såhär ser day2dlg.h ut:

// Day2Dlg.h : header file
//

\#if !defined(AFX_DAY2DLG_H__72E17648_7539_4D30_9F07_48E20049687D__INCLUDED\_)
\#define AFX_DAY2DLG_H__72E17648_7539_4D30_9F07_48E20049687D__INCLUDED\_

\#if \_MSC_VER \> 1000
\#pragma once
\#endif // \_MSC_VER \> 1000

/////////////////////////////////////////////////////////////////////////////
// CDay2Dlg dialog

class CDay2Dlg : public CDialog
{
// Construction
public:
	CDay2Dlg(CWnd\* pParent = NULL);	// standard constructor

// Dialog Data
	//{{AFX_DATA(CDay2Dlg)
	enum { IDD = IDD_DAY2_DIALOG };
	CString	m_strMessage;
	CString	m_StrProgToRun;
	BOOL	m_bEnableMsg;
	BOOL	m_bEnablePsg;
	BOOL	m_bShowMsg;
	BOOL	m_bShowPsg;
	//}}AFX_DATA

	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CDay2Dlg)
	protected:
	virtual void DoDataExchange(CDataExchange\* pDX);	// DDX/DDV support
	//}}AFX_VIRTUAL

// Implementation
protected:
	HICON m_hIcon;

	// Generated message map functions
	//{{AFX_MSG(CDay2Dlg)
	virtual BOOL OnInitDialog();
	afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
	afx_msg void OnPaint();
	afx_msg HCURSOR OnQueryDragIcon();
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
};

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

\#endif // !defined(AFX_DAY2DLG_H__72E17648_7539_4D30_9F07_48E20049687D__INCLUDED\_)

Permalänk: https://www.webforum.nu/p/829209

## #4 — developer, 2002-10-21T13:26Z

Använd kod-tagen när du postar så blir koden läsligare. Titta här: <http://www.webforum.nu/misc.php?s=&action=bbcode>

Permalänk: https://www.webforum.nu/p/829242

## #5 — Beatbox, 2002-10-21T13:32Z

Är det ett MFC-workspace du försöker kompliera eller ?

Permalänk: https://www.webforum.nu/p/829248

## #6 — Pellefant, 2002-10-21T13:50Z

> **developer skrev:**
>
> Använd kod-tagen när du postar så blir koden läsligare. Titta här: <http://www.webforum.nu/misc.php?s=&action=bbcode>

Tack för rådet,har redigerat det nu. :)

Permalänk: https://www.webforum.nu/p/829263

## #7 — Pellefant, 2002-10-21T13:50Z

> **Beatbox skrev:**
>
> Är det ett MFC-workspace du försöker kompliera eller ?

Ja,det stämmer bra det, mitt första. :)

Permalänk: https://www.webforum.nu/p/829264

## #8 — niko, 2002-10-29T13:36Z

**local function definitions are illegal** betyder att kompilatorn tror att du försöker deklarera
en funktion **inne** i en annan funktion. 

Vilket betyder att du nånstans i Day2Dlg.cpp antagligen glömt en avslutande "}". Bara att börja leta ..

Permalänk: https://www.webforum.nu/p/837247

## #9 — Beatbox, 2002-10-29T13:42Z

> local function definitions are illegal betyder att kompilatorn tror att du försöker deklarera 
> en funktion inne i en annan funktion.

Eller att funktionshuvudet skiljer sig åt från implementationen....

Permalänk: https://www.webforum.nu/p/837250

## #10 — niko, 2002-10-29T13:56Z

> Eller att funktionshuvudet skiljer sig åt från implementationen....

Jaha? Har du nåt exempel?

Permalänk: https://www.webforum.nu/p/837263

---

Tråden på webben: https://www.webforum.nu/amne/c-cpp/56640-visual-c-nybörjarproblem
