error: no matching function for call to ‘std::chrono::_V2::system_clock::to_time_t(std::chrono::time_point<android::base::boot_clock, std::chrono::duration<long int, std::ratio<1, 1000000000> > >&)’
时间: 2023-08-16 21:08:50 浏览: 297
这个错误的原因可能是你在使用 `std::chrono::system_clock::to_time_t()` 函数时传入的时间点类型不正确。这个函数接受的参数应该是 `std::chrono::system_clock::time_point` 类型,而你传入的是 `std::chrono::time_point<android::base::boot_clock, std::chrono::duration<long int, std::ratio<1, 1000000000> > >` 类型,这两者是不兼容的。
你需要检查一下你的代码,确认你在调用 `to_time_t()` 函数时传入了正确的时间点类型。如果确实需要将 `std::chrono::time_point<android::base::boot_clock, std::chrono::duration<long int, std::ratio<1, 1000000000> > >` 转换为时间戳,你可能需要编写自己的转换函数,或者使用第三方库进行转换。
相关问题
error: no matching function for call to 'std::basic_istream<char>::getline(char [100])' cin.getline(a);
这是一个关于编程的技术问题。这个错误表示在使用 std::cin.getline() 函数时输入了错误的参数。正确的用法是在函数中传递一个字符数组来存储输入的字符串,例如 std::cin.getline(a,100)。
error: no matching function for call to 'std::vector<std::vector<int> >::push_back(int*&)' 9 | result.push_back(combination);
错误提示 "error: no matching function for call to 'std::vector<std::vector<int>>::push_back(int*&)'”表示在尝试将一个指向整型数组的引用(`int*&`)压入一个二维向量(`std::vector<std::vector<int>>`)时,编译器找不到合适的插入函数。`push_back`通常用于添加元素,而不是元素的引用。
在这个上下文中,看起来`combination`是一个包含整数的数组,并不是另一个可以存储数组的容器,所以直接推送到二维向量里是不允许的。解决这个问题,你需要先创建一个临时的一维`std::vector<int>`来存储`combination`的所有元素,然后再将其压入二维向量中。正确的做法可能是这样的:
```cpp
std::vector<int> tempCombination;
for (int value : combination) {
tempCombination.push_back(value);
}
// 然后再将 tempCombination 添加到 result 中
result.push_back(tempCombination);
```
这样就可以避免原始错误了。
阅读全文