2

我对 C++ 和他的语法很陌生。我以前用 C# 编程过,但想试试 C++。

我在 Visual Studio 中创建了一个 ClassLibrary,并想向其中添加一些类。我知道这是托管 C++。

但我无法理解为什么我不断收到这些错误:

Error C2062: type 'int' unexpected
Error C2143: syntax error: messing ; before '{'
Error C2447: '{' : missing function header (old-style formal list?)

这是我的头文件:

// LibraryLib.h

#pragma once
#include <string>
using namespace System;

namespace LibraryLib {

public enum EntryType {Book, Newspaper};

public ref class Entry
{   
public:
    int id;
    int year;
    String ^ title;
    EntryType type;

    Entry(int Id, int Year, String ^ Title, EntryType Type);

};
}

这是我的 cpp 文件:

// This is the main DLL file.

#include "stdafx.h"
#include "LibraryLib.h"

namespace LibraryLib {

LibraryLib::Entry(int Id, int Year, String ^ Title, EntryType Type) // line of errors   
{
    id = Id;
    year = Year;
    title = Title;
    type = Type;
}
}

在我想在 cpp 文件中实现构造函数的行上抛出了 3 个错误。

我希望有人能指出我做错了什么。

谢谢!

4

2 回答 2

3

您没有限定构造函数的权利。你需要另一个Entry::

Entry::Entry(int Id, int Year, String ^ Title, EntryType Type)
于 2012-06-04T13:47:04.903 回答
1

为您的构造函数代码尝试 Entry::Entry(int Id, int Year, String ^ Title, EntryType Type)

于 2012-06-04T13:47:33.953 回答