잘 작동하는 클래스에 문제가있어 이제는 전혀 작동하지 않는 것 같습니다. 내가 그들의 목록을 만들고 목록에 추가 한 후 초기화하고있어 두 곳에서 클래스를 사용하고 "No appropriate default constructor available"
기본 생성자가 없습니다.
오류입니다.
Vertice3f.h
#pragma once
#include "Vector3f.h"
// Vertice3f hold 3 floats for an xyz position and 3 Vector3f's
// (which each contain 3 floats) for uv, normal and color
class Vertice3f{
private:
float x,y,z;
Vector3f uv, normal, color;
public:
// If you don't want to use a UV, Normal or Color
// just pass in a Verctor3f with 0,0,0 values
Vertice3f(float _x, float _y, float _z, Vector3f _uv,
Vector3f _normal, Vector3f _color);
~Vertice3f();
};
Vertice3f.cpp
#include "Vertice3f.h"
Vertice3f::Vertice3f(float _x, float _y, float _z,
Vector3f _uv, Vector3f _normal, Vector3f _color){
x = _x;
y = _y;
z = _z;
uv = _uv;
normal = _normal;
color = _color;
}
그것은 다음과 같이 내 OBJModelLoader 클래스에서 사용되고 있습니다 :
list<Vertice3f> vert3fList;
Vertice3f tvert = Vertice3f(
x = (float)atof(
vertList[i].substr(
vertList[i].find("v") + 1,
vertList[i].find(" ", vertList[i].find("v") + 2, 10)
).c_str()
),
y = (float)atof(
vertList[i].substr(
vertList[i].find(" ", vertList[i].find("v") + 4, 10) + 1,
vertList[i].find(" ", vertList[i].find("v") + 13, 10)
).c_str()
),
z = (float)atof(
vertList[i].substr(
vertList[i].find(" ", vertList[i].find("v") + 13, 10) + 1,
vertList[i].find(" ", vertList[i].find("v") + 23, 10)
).c_str()
),
::Vector3f(0.0f,0.0f,0.0f),::Vector3f(0.0f,0.0f,0.0f),::Vector3f(0.0f,0.0f,0.0f)
);
vert3fList.push_back(
tvert
);
내가 정의하는 시도 드 내가
Vertice3f();
을 넣어 .H 그렇게 자신을 생성자 결함과 CPP
Vertice3f::Vertice3f(){
x = 0.0f;
y = 0.0f;
z = 0.0f;
uv = Vector3f(0.0f,0.0f,0.0f);
normal = Vector3f(0.0f,0.0f,0.0f);
color = Vector3f(0.0f,0.0f,0.0f);
}
그래서, 나는 그것이 기본 생성자를 찾을 방법이나 컴파일러를 달래 수없는 이유를 잘 모르겠어요 . 나는 그것이 컴파일러가 아마 그것이 무엇을하는지 알기 때문에 그것은 사용자 에러라고 확신한다. 도움을 주시면 대단히 감사하겠습니다. 질문이 있으시면 답변 드리겠습니다.
'Vertice3f();'가 public으로 선언 되었습니까? – Fraser
솔루션을 코드에 직접 수정하여 작업해야하는 버전의 전체 버전을 확인할 수 있습니다. – Potatoswatter
예. 그것은 공개로 선언됩니다. 또한 "코드에 직접 솔루션을 수정하십시오"라는 것이 무슨 뜻인지 잘 모르겠습니다. 전체 파일이나 sln 파일을 원한다는 뜻입니까? – user962179