일부 템플릿 클래스를 만들고 이제 서로 변환하려고합니다. 나는 기능을 썼고 지금은 얼마나 나쁜 궁금 : template<class ConnectionType>
class CONNECTION
{
public:
ConnectionType weight;
template<class FinalType> CONNECTION<FinalType>*
이진 트리에서 주어진 노드 포인터를 삭제하고 싶지만 그 중 하나의 포인터로 왼쪽 노드를 바꾸고 싶습니다. 내가 이렇게 할 경우 는 : Node<T> *tmp = root->getLeftNode();
delete root;
root = tmp;
포인터 루트는 왼쪽 아이의 값을 갖는하지 끝납니다. 나는 이렇게 할 경우 root = root->getLef
기본 이미지 변환기를 프로그래밍하여 이미지를 BMP로 변환합니다. 나는 메모리 누출을 피하기 위해 마지막에 Image를 정리했다. 나는 그것을 컴파일 할 때,이 오류가 온다 최대 : 나는 여러 웹 사이트를 확인하지만 때 한 '클래스에는 GDIPlus :: 이미지'인수는 '삭제'에게 주어진 유형, 예상 포인터 그들의 예제를 사용하지만, 여전히 컴파일러 오류가
동일한 질문을 검색하려고했지만 나에게 도움이되지 않았습니다. 프로그램을 실행할 때 "버퍼 오버런이 발생했습니다 ..."오류가 발생합니다. | 생성자 : Player(char* n)
{
length = strlen(n);
name = new char[length+1];
for(unsigned int i(0); i < length
왜 하나의 함수가 작동하지 않는 지 알 수 없습니다. 그것은 const 포인터와 관련이 있습니다. //prints the contents of the list interval [begin,end)
//to the output stream os; values should be separated by spaces
void print(const Node* b
두 명의 자식이있는 노드를 삭제하려고합니다. 그러나, 내 함수는 트리에서 노드를 완전히 제거하지 않고 중복 된 상태로 남겨 둡니다. void Remove(Node *&r, int idx)
{
if(Search(r, idx))
{
if(idx < r->id) Remove(r->left, idx);
else if(id
로 만드는 목적 : void processObject(Myobject instance)
{
//some code using instance
}
나는이 같은 다른 방법에서 위의 메소드를 호출하고 있습니다 : ...
processObject(*new MyObject());
...
을 수있는이 원인 메모리 누출? 프로세스 객체 메서드에서 &
delete [] 연산자를 조사하고 있는데 궁금한데 왜 'delete []'연산자를 사용하여 이전에 삭제 한 동일한 포인터에 다른 배열 요소를 할당 할 수 없습니까? 여기 내가 무엇을하고 있었는지입니다 : int *a = new int[n];
cout << "Enter array elements:" << endl;
for (int i = 0; i < n
C++ 11 표준에 따라 default 키워드를 사용하여 특수 멤버 함수를 기본값으로 선언 할 수 있습니다. class Foo
{
public:
Foo() = default;
Foo(const Foo& source) = default;
Foo(Foo&& source) = default;
~Foo() = default;
나는 input이라는 클래스를 가지고있다. 나는이 개 변수 Input inp; 및 Input* inp2; 을했고 나는 이런 식으로 뭔가를 한 경우. inp2 = &inp; 사용이 포인터를 삭제해야겠습니까 나는 세드릭 잘 모르겠어요 그래서 런타임 오류가 발생했습니다 내 응용 프로그램에서 삭제하려고했습니다 delete inp 이리.