Я начал изучать язык программирования D (это довольно удивительно) и столкнулся с небольшой проблемой, когда я начал исследовать функции. Настройка довольно простая; это всего лишь способ выяснить сходство языка с другими, которые я использовал. Вот мой класс декларации:D Язык Статический класс Функция Неопределенный идентификатор
module TestClass;
import std.string;
class TestClass
{
this()
{
// Constructor code
}
public static string getData(){
return "Test";
}
};
и вот мой главный:
module main;
import std.stdio;
import std.string;
import TestClass;
void main(string[] args)
{
writeln(TestClass.getData());
stdin.readln();
}
Там, кажется, проблема с вызовом статической функции в TestClass. Я получаю ошибку «неопределенного идентификатора». Вот картинка:
Кто-нибудь знает, что я делаю неправильно? Я попытался просмотреть документацию на веб-сайте digital mars, но, честно говоря, это немного противоречит интуиции.
Какая версия D вы используете? – cfh
@cfh Что бы то ни было. Я думаю, что я только нашел ответ. Это странно, и мне это действительно не нравится ... но это ошибка модуля. Чтобы заставить его работать, я должен ввести TestClass.TestClass.getData(); Я ищу обходной путь. – Krythic