Problem z używaniem referencji do r-wartości(Apple LLVM 8.0.0, Xcode 8.2)
Ostatnio zmodyfikowano 2016-12-31 01:10
Mateusz99 Temat założony przez niniejszego użytkownika |
Problem z używaniem referencji do r-wartości(Apple LLVM 8.0.0, Xcode 8.2) » 2016-12-30 23:45:51 Witam, mój problem polega na błędzie związanym z(moim zdaniem) nie pelnym wsparciem nowszych standardów C++ w Xcode 8. Poniżej załączam przykładowy kod: #include <iostream>
using namespace std;
void staff( double & rs ); void staff( const double & rcs ); void stove( double & r1 ); void stove( const double & r2 ); void stove( double && r3 ); int main( int argc, const char * argv[] ) { double x = 55.5; const double y = 32.0; stove( x ); stove( y ); stove( x + y ); return 0; }
void staff( double & rs ) { cout << "Modyfikowalna l-wartość." << endl; }
void staff( const double & rcs ) { cout << "r-wartość i niemodyfikowalna l-wartość." << endl; }
void stove( double & r1 ) { cout << "Modyfikowalna r-wartość." << endl; }
void stove( const double & r2 ) { cout << "Niemodyfikalna l-wartość." << endl; }
void stove( const double && r3 ) { cout << "r-wartość" << endl; }
I błędy podczas kompilacji: Undefined symbols for architecture x86_64: "stove(double&&)", referenced from: _main in main.o ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation) Liczę, że na forum znajdą się jacyś Mac userzy |
|
mokrowski |
» 2016-12-31 00:56:50 #include <iostream>
using namespace std;
void staff( double & rs ); void staff( const double & rcs ); void stove( double & r1 ); void stove( const double & r2 );
void stove( const double && r3 ); int main( int argc, const char * argv[] ) { double x = 55.5; const double y = 32.0; stove( x ); stove( y ); stove( x + y ); return 0; }
void staff( double & rs ) { cout << "Modyfikowalna l-wartość." << endl; }
void staff( const double & rcs ) { cout << "r-wartość i niemodyfikowalna l-wartość." << endl; }
void stove( double & r1 ) { cout << "Modyfikowalna r-wartość." << endl; }
void stove( const double & r2 ) { cout << "Niemodyfikalna l-wartość." << endl; }
void stove( const double && r3 ) { cout << "r-wartość" << endl; }
PS. Sprawdzone na Mac'u tak ze standardowym kompilatorem (wraz z XCode) jak i z ports'ów :-) |
|
Mateusz99 Temat założony przez niniejszego użytkownika |
» 2016-12-31 01:10:41 Dzięki wielkie :D Muszę jeszcze trochę zagłębić się w przeciążanie funkcji, A co do samego programu oparłem go na książkowym przykładzie i sądziłem, że na bank musi być poprawny. No nic temat do zamknięcia, wielkie dzięki jeszcze raz. :) |
|
« 1 » |