ПК
Size: a a a
ПК
AB
int
) ругается. (gcc 7.5.0)a
uint64_t str7(const char* sz)
{
uint64_t m = 281474976710656;
uint64_t res = 0;
for(size_t i = 0; sz[i] != '\0' && i < 7; ++i, m /= 256)
res += sz[i] * m;
return res / m / 256;
}
template <int N>
int f1()
{
return N;
}
int main()
{
int d[str7("a")]; // OK
f1<str7("b")>(); // error
return 0;
}
D
uint64_t str7(const char* sz)
{
uint64_t m = 281474976710656;
uint64_t res = 0;
for(size_t i = 0; sz[i] != '\0' && i < 7; ++i, m /= 256)
res += sz[i] * m;
return res / m / 256;
}
template <int N>
int f1()
{
return N;
}
int main()
{
int d[str7("a")]; // OK
f1<str7("b")>(); // error
return 0;
}
AB
a
D
uint64_t str7(const char* sz)
{
uint64_t m = 281474976710656;
uint64_t res = 0;
for(size_t i = 0; sz[i] != '\0' && i < 7; ++i, m /= 256)
res += sz[i] * m;
return res / m / 256;
}
template <int N>
int f1()
{
return N;
}
int main()
{
int d[str7("a")]; // OK
f1<str7("b")>(); // error
return 0;
}
-fpermissive
сделайD
Е
-fpermissive
сделайD
AB
D
-pedantic-errors
D
a
-pedantic-errors
ругается на всё, спасибо𝕄
C++ code
Д
Д
Е
IZ
М