我对C ++及其语法很陌生。我以前用C#编程,但想过试试C ++。
我在visual studio中创建了一个ClassLibrary,并希望为它添加一些类。我知道这是Managed C ++。
但是我无法理解为什么我会一直收到这些错误:
Error C2062: type 'int' unexpected
Error C2143: syntax error: messing ; before '{'
Error C2447: '{' : missing function header (old-style formal list?)
这是我的Header文件:
// 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个错误。
我希望有人可以指出我做错了什么。
谢谢!
答案 0 :(得分:3)
您没有对构造函数进行限定。你需要另一个Entry::
:
Entry::Entry(int Id, int Year, String ^ Title, EntryType Type)
答案 1 :(得分:1)
为构造函数代码尝试Entry :: Entry(int Id,int Year,String ^ Title,EntryType Type)