-1
일을 해달라고C++는 기본 함수 매개 변수 내가 기본 매개 변수를 필요로하는 기능을 가지고
LINE 84:
void game::genRand(double offset_x = 0.0, double offset_y = 0.0) {
perlin.SetFrequency(0.1);
for(int _x=0; _x<dimensions.x/32; _x++){
for(int _y=0; _y<dimensions.y/32; _y++){
vec.push_back((perlin.GetValue(_x+offset_x, _y+offset_y, 0.2)+1.f)*2/2);
}
}
}
오류 :
make
g++ main.cpp -w -std=c++11 -lsfml-graphics -lsfml-window -lsfml-system -lnoise -o main
main.cpp:84:64: error: default argument given for parameter 1 of ‘void game::genRand(double, double)’ [-fpermissive]
void game::genRand(double offset_x = 0.0, double offset_y = 0.0) {
^
main.cpp:13:14: note: previous specification in ‘void game::genRand(double, double)’ here
void genRand(double offset_x = 0.0, double offset_y = 0.0);
^
main.cpp:84:64: error: default argument given for parameter 2 of ‘void game::genRand(double, double)’ [-fpermissive]
void game::genRand(double offset_x = 0.0, double offset_y = 0.0) {
^
main.cpp:13:14: note: previous specification in ‘void game::genRand(double, double)’ here
void genRand(double offset_x = 0.0, double offset_y = 0.0);
^
난 몰라 내가 뭘 잘못했는지 이해해.
함수 정의에서 기본값을 제거합니다. 선언문에서만 필요합니다. – juanchopanza
기본 인수는 정의가 아닌 선언에서만 지정합니다 (인라인이 아닌 경우). –
기본 인수는 선언에서만 사용됩니다. 컴파일러가 이미 값을 알아야 함수를 정의하고 구현할 때 (함수 자체로서 값을 얻는다는 것을 알게되고 변수는 항상 존재합니다) ... –