Я пытаюсь написать код Scala, который должен сделать что-то вроде:
class Test[Type] {
def main {
SomeFunc classOf[Type]
val testVal: Type = new Type()
}
}
и он не работает. Я, очевидно, не понимаю ничего о Scala общих параметрах. Ясно, что недоразумение заключается в том, что в С++ шаблоны по существу функционируют подобно строковым подстановкам, поэтому новый тип() будет работать до тех пор, пока класс, передаваемый в него, имеет конструктор по умолчанию. Однако в Scala типы представляют собой разные типы объектов.