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;
}
}

3つのエラーは、cppファイルでコンストラクターを実装したい行にスローされます。

誰かが私が間違っていることを指摘してくれることを願っています。

ありがとう!

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 に答える