İşte benim kodum:C++/CLI derleyicisi neden sembollerle bu kadar karışır?
using namespace System;
using namespace System::Collections;
using namespace System::Collections::Generic;
namespace Tests {
ref class MyCollection : public IEnumerable<int> <----HERE!
Örneğin, C# derleyici bu ad alanlarında sahip olduğu IEnumerable<T>
'in System::Collections::Generic
olduğunu bilecektir. Neden C++/CLI derleyicisi aynı şeyi yapamıyor? Tam adını veya en az Generic::IEnumerable<int>
değerini yazmazsam, onu tanımayacak ve bir C2872 hatası verecek: belirsiz sembol.
Burada bir şey mi eksik?
Erm, biri genel ve diğeri değil? Hangisinin kullanılacağını seçmek zor olmamalı ve ayrıca C# derleyici bununla karıştırılmamalıdır. –
Derleyici, jenerik sürümü seçmesi gereken * önceden * nasıl biliyor? Henüz "" yi ayrıştırmamıştı ve bunu yapsa bile, ilk önce '<' 'nin, jenerik türün başlangıcı olduğunu ve "daha az" operatörünün değil olduğunu belirlemesi gerekir. Ve hala C++'yi doğru bir şekilde ayrıştırmak zorundadır, bu yüzden kodun nasıl ayrıştırıldığını keyfi olarak değiştiremezler. –
jalf
C# ve C++ dilleri farklıdır ve bu nedenle kodu farklı yollarla ayrıştırın – Mark