Я открыл консольное приложение win32 и добавил библиотеку классов. В настоящее время я пытаюсь использовать эту библиотеку классов, но когда я настраиваю библиотеку классов с именем пространства имен, я не могу использовать тип данных String. Он говорит, что для класса «System :: String» не существует конструктора по умолчанию. Я не могу понять, как избавиться от этой ошибки.Библиотека классов C++
Заголовочный файл
#pragma once
using namespace System;
using namespace System::Net::Sockets;
namespace [Name]{
public ref class [Name]
{
private:
System::String ipaddress;
System::String port;
public:
[Constructor](System::String,System::String,System::String);
};
}
CPP Файл
// Это основной файл DLL.
#include "stdafx.h"
#include "header file"
namespace [Name] {
[Name]::[Constructor](System::String ip,System::String portN,System::String protocol)
{
ipaddress = ip;
port = portN;
}
}
Является ли это проектом C++ или C++/CLI? Настоящий «проект консоли Win32» - это * не * C++/CLI, поэтому вы не можете использовать типы BCL, такие как 'System.String' в этих проектах. – Dai
Кроме того, являются ли символы '' '' '' '' '' '' '' в вашем коде или вы просто запутываете свои имена? – Dai
Я не знаю, есть ли у Visual C++ некоторые специальные функции, но обычно вы должны включать соответствующие файлы заголовков, чтобы сделать классы доступными. Я не вижу заголовок с включенным заголовком, прежде чем вы используете System :: String. Если классы определены в stdafx.h, я бы рекомендовал включить этот заголовок в ваш файл заголовка тоже. – JojOatXGME