저는 여가 시간에 C++에 대해 배우고 있으며 하위 클래스/[] 연산자를 오버로드하는 클래스를 구현하고 있습니다. myObject[i,j,...], 인수가 예를 들어 string의 또는 int의 내가 볼 수 있습니다 : 지금, 나는 첨자 연산자를 다음과 같이 (쉼표로 구분)에 두 개 이상의 인수를 전달 할 수 있기를 원 C++에서는 subscript 연산자
두 가지 기능 중 일부 이상한 동작이 있습니다. 빌드 프로세스에서 호출 될 때 둘 다 오류가 발생합니다. 나는 모든 것이 나에게 잘 보이기 때문에 나는 그것이 무엇인지에 관해 명확히하지 않고있다. 그러나 그것은 명백하게 사실이 아니다. 오류와 첫째 줄 : matf4x4 perspective = perspective(m_fov, m_aspect, m_near
잘 모르겠습니다. 복사 생성자 또는 연산자 = 올바르지 않습니다. 필자는 두 개의 "무덤"으로 테스트했고 프린터가 작동하지만 컴파일러가 프로그램 끝에 "디버그 어설 션이 실패했습니다"라고 말했습니다. 당신이 클래스를 복사 할 때마다, 당신은 데이터에 바로 포인터 대신 전체 벡터를 복사되지 않습니다 : #pragma once
#include <cstdio>
클래스 Arr에 대한 대입 연산자가 오버로드되고 있습니다. 소멸자를 사용하여 이전 객체를 삭제하고 할당 된 메모리를 해제 한 다음 이전에 오버로드 된 copy-constructor를 사용하여 호출 객체를 rhs의 복사본으로 만듭니다. this 사진은이를 수행하는 두 가지 다른 방법을 보여줍니다 (50 행과 57 행만 다릅니다). 두 번째 솔루션이 작동하는
는 내가 직접 두 SDL_point의 비교할 수 없습니다 발견 : 나는 operator== 과부하 싶습니다 SDL_Point a = {1, 2};
SDL_Point b = {1, 2};
if (a == b) std::cout << "a = b\n"; // Doesn't compile.
if (a.x == b.x && a.y == b.y) // I h
사용자 지정 형식 변환기가 필요하므로 IEnumerable<T>을 구현하는 사용자 지정 형식을 작성하려고합니다.이 [TypeConverter(typeof(StringListTypeConverter))]
public class StringList<T> : IEnumerable<T>, IStringConvertible
{
// ... impleme
클래스에서 연산자 오버로딩 함수를 만들었습니다. 그리고 클래스의 오버로딩 함수를 호출하는 또 다른 함수를 만들었습니다. 그래서 소스를 컴파일 할 수 #include <iostream>
...
class Zealot {
int x;
....
void operator++() {
Zealot s;
s.x
제 첫 번째 질문입니다. 어떤 포맷팅 실수도 곰, 내가 그들을 수정하려고합니다 :) 나는 어떤 데이터 타입 X의 최대 세 변수를 찾아 반환이 기능을 가지고있어. template <class X>
X fmax(X a, X b, X c)
{
X temp=a;
if (b>temp)
temp=b;
if(c>temp)
더하기 기호의 연산자 오버로딩을 이해하려고합니다. 나는 2 개의 프로토 타입을 본다 : Box operator+(const Box& b) { ... }
Box operator+(const Box& left, const Box& right) { ... }
어느 것이 옳은가? 그 차이가 멤버 함수이고 두 번째 멤버가 아닌 멤버 인 경우 두 방법을 정의한