История изменений
Исправление
MOPKOBKA,
(текущая версия)
:
И что мне мешает передать цельсии в конструктор для фаренгейта?
Компилятор
// Цельсий
struct C { double value; };
// Фаренгейт
struct F { double value; };
C operator ""_C(long double);
F operator ""_F(long double);
// Цельсии в фаренгейты
F c2f(C x) {
return { x.value * 123 };
}
int main() {
// Температура в фаренгетах
auto temp = 10.0_F;
auto temp_in_f = c2f(temp); // gcc error: could not convert 'temp' from 'F' to 'C'
}
Исправление
MOPKOBKA,
:
И что мне мешает передать цельсии в конструктор для фаренгейта?
// Цельсий
struct C { double value; };
// Фаренгейт
struct F { double value; };
C operator ""_C(long double);
F operator ""_F(long double);
// Цельсии в фаренгейты
F c2f(C x) {
return { x.value * 123 };
}
int main() {
// Температура в фаренгетах
auto temp = 10.0_F;
auto temp_in_f = c2f(temp); // gcc error: could not convert 'temp' from 'F' to 'C'
}
Исправление
MOPKOBKA,
:
И что мне мешает передать цельсии в конструктор для фаренгейта?
// Цельсий
struct C { double value; };
// Фаренгейт
struct F { double value; };
C operator ""_C(long double);
F operator ""_F(long double);
// Цельсии в фаренгейты
F c2f(C x) {
return { x.value * 123 };
}
int main() {
// Температура в фаренгетах
auto temp = 10.0_F;
auto temp_in_f = c2f(temp); //could not convert 'temp' from 'F' to 'C'
}
Исправление
MOPKOBKA,
:
И что мне мешает передать цельсии в конструктор для фаренгейта?
// Цельсий
struct C { double value; };
// Фаренгейт
struct F { double value; };
C operator ""_C(long double);
F operator ""_F(long double);
// Цельсии в фаренгейты
F c2f(C x) {
return { x.value * 123 };
}
int main() {
// Температура в фаренгетах
auto temp = 10.0_F;
auto r = c2f(temp); //could not convert 'temp' from 'F' to 'C'
}
Исправление
MOPKOBKA,
:
// Цельсий
struct C { double value; };
// Фаренгейт
struct F { double value; };
C operator ""_C(long double);
F operator ""_F(long double);
// Цельсии в фаренгейты
F c2f(C x) {
return { x.value * 123 };
}
int main() {
// Температура в фаренгетах
auto temp = 10.0_F;
auto r = c2f(temp); //could not convert 'temp' from 'F' to 'C'
}
Исходная версия
MOPKOBKA,
:
struct C {
double value;
};
struct F {
double value;
};
C operator ""_C(long double);
F operator ""_F(long double);
F c2f(C x) {
return { x.value * 123 };
}
int main() {
auto temp = 10.0_F;
auto r = c2f(temp); //could not convert 'temp' from 'F' to 'C'
}