C++中的字符串连接
string concatenation in c++
以前,我使用附加函数来连接字符串。
但是,由于这样做需要多行不必要的代码,所以我想尝试使用“+”运算符。不幸的是,它并不顺利...
bool Grid::is_available(int x, int y) const
{
if (x < 0 || x >= dim[1] || y < 0 || y >= dim[0])
throw std::invalid_argument("is_available(" + x + ", " + y + "): Invalid coordinate input.");
return occupancy[x][y] == AVAILABLE;
}
我收到的错误是“'+': 无法添加两个指针”,代码为 C2110。
这个问题的所有解决方案据说在每一行上连接一个。
实际上没有办法在一行中连接 C++ 中的多个字符串吗?我以前在 C# 中对此没有问题。
您可以使用 std::to_string()
来转换您的整数:
bool Grid::is_available(int x, int y) const
{
if (x < 0 || x >= dim[1] || y < 0 || y >= dim[0])
throw std::invalid_argument(
"is_available(" + std::to_string(x) + ", "
+ std::to_string(y) + "): Invalid coordinate input.");
return occupancy[x][y] == AVAILABLE;
}
以前,我使用附加函数来连接字符串。 但是,由于这样做需要多行不必要的代码,所以我想尝试使用“+”运算符。不幸的是,它并不顺利...
bool Grid::is_available(int x, int y) const
{
if (x < 0 || x >= dim[1] || y < 0 || y >= dim[0])
throw std::invalid_argument("is_available(" + x + ", " + y + "): Invalid coordinate input.");
return occupancy[x][y] == AVAILABLE;
}
我收到的错误是“'+': 无法添加两个指针”,代码为 C2110。 这个问题的所有解决方案据说在每一行上连接一个。 实际上没有办法在一行中连接 C++ 中的多个字符串吗?我以前在 C# 中对此没有问题。
您可以使用 std::to_string()
来转换您的整数:
bool Grid::is_available(int x, int y) const
{
if (x < 0 || x >= dim[1] || y < 0 || y >= dim[0])
throw std::invalid_argument(
"is_available(" + std::to_string(x) + ", "
+ std::to_string(y) + "): Invalid coordinate input.");
return occupancy[x][y] == AVAILABLE;
}