template < typename T>
class A { public :
booloperator ==( const A& ); //error: 'operator' - function must have a body
T t;
};
class B {
A< int > a;
};
template < typename T>
bool A:: operator ==( const A& ) { returnfalse ; }
voidOnStart ()
{
A< int > a, b;
Print ( a == b );
}
template < typename T> class A {};
template < typename T> class B {};
class C {
template < typename T>
void f( B<A<T> > * ) {}
B<A< int > > *b;
public :
void g() { f( b ); } //error: 'f' - cannot to apply function template
};
그렇게 생각하니?
포인터를 변경할 수는 없지만 포인터가 참조하는 개체는 변경할 수 있습니다. MQL5에는 변경할 수 없는 포인터가 없습니다. 따라서 const 수정자는 항상 포인터가 참조하는 개체에 적용됩니다.
그렇다면 상수 포인터는 어디에 있다고 생각하십니까?!
f() 및 g() 메서드 에서 포인터는 상수가 됩니다.
MQL5에는 변경할 수 없는 포인터가 없습니다. 따라서 const 수정자는 항상 포인터가 참조하는 개체에 적용됩니다.
주제에 대한 충분한 지식 없이는 그러한 범주적 결론을 내리지 않아야 합니다. MQL에는 상수 포인터가 있으며 C++에서와 같은 방식으로 선언됩니다.
주제에 대한 충분한 지식 없이는 그러한 범주적 결론을 내리지 않아야 합니다. MQL에는 상수 포인터가 있으며 C++에서와 같은 방식으로 선언됩니다.
개발자의 설명을 기억하는 한 constness는 객체와 포인터 모두에 적용됩니다.
저것들. MQL에서 const T* 쓰기 === C++에서 const T* const
예전에는 그랬고 지금은 다를 수도 있지만 의심스럽습니다.
컴파일 오류
컴파일 오류
...
다음과 같아야 합니다.
다음과 같아야 합니다.
컴파일 오류
컴파일 오류