我正在使用Howard Hinnant的日期库并尝试转换std::string为date::year_month_day使用下面显示的一段代码.
#include "date.h"
#include <string>
#include <iostream>
#include <sstream>
int main()
{
std::string d = "2016-11-23";
std::istringstream in{d};
date::sys_days sd;
date::parse(in, "%F", sd);
date::year_month_day ymd = sd;
std::cout << ymd << '\n';
}
Run Code Online (Sandbox Code Playgroud)
并收到太多抱怨的错误 ‘const class std::time_get<char>’ has no member named ‘get
In file included from convert_string_to_date.cpp:1:0:
date.h: In instantiation of ‘void date::detail::parse(std::basic_istream<_CharT, _Traits>&, const std::basic_string<CharT, Traits>&, date::local_time<Duration>&, std::basic_string<CharT, Traits>*, std::chrono::minutes*) [with CharT = char; Traits = std::char_traits<char>; Duration = std::chrono::duration<int, std::ratio<86400l, 1l> …Run Code Online (Sandbox Code Playgroud) 我下面的代码会自动舍入输入.我没有看到任何功能在任何地方围绕输入.有人可以看看吗?
#include <iostream>
#include <string>
#include <sstream>
using namespace std;
int main()
{
string input = "";
int weight = 0;
int height = 0;
int bmi = 0;
while (true)
{
cout << "Enter weight: ";
getline(cin, input);
// This code converts from string to number safely.
stringstream myStream(input);
if (myStream >> weight)
break;
cout << "Invalid number, please try again" << endl;
}
while (true)
{
cout << "Enter height: " << endl;
getline(cin, input);
// This code …Run Code Online (Sandbox Code Playgroud) 我在我的项目中使用这些库
\n\n并使用编译我的项目
\n\ng++ -std=c++1y -I ../../date main.cpp -lpthread -lsqlpp-mysql -lmysqlclient -lboost_system -ljson11\nRun Code Online (Sandbox Code Playgroud)\n\n直到昨天为止,每天都运行得很好。但现在我收到这个错误,
\n\n\xe2\x94\x8c\xe2\x94\x80[shravan40@Debian] - [~/Work/algorithm] - [Fri Nov 18, 18:33]\n\xe2\x94\x94\xe2\x94\x80[$] <git:(riskProfiling*)> g++ -std=c++1y -I ../../date main.cpp -lpthread -lsqlpp-mysql -lmysqlclient -lboost_system -ljson11\n/usr/bin/ld: //usr/local/lib/libsqlpp-mysql.a(connection.cpp.o): relocation R_X86_64_32 against symbol `__pthread_key_create@@GLIBC_2.2.5\' can not be used when making a shared object; recompile with -fPIC\n/usr/bin/ld: //usr/local/lib/libsqlpp-mysql.a(prepared_statement.cpp.o): relocation R_X86_64_32 against symbol `__pthread_key_create@@GLIBC_2.2.5\' can not be used when making a shared …Run Code Online (Sandbox Code Playgroud) 我有一个超边界的二维向量以及一个邻接列表.我必须找到hyperEdges[i].size()向量的联合,但我只能找到两个向量的联合.我可以对下面的代码做些什么改进呢?我想将union存储到新声明的2-D向量中connectedEdges
void find_union()
{
connectedEdges.resize(nEdges+1);
for(int i = 1; i <= nEdges; i++)
{
vector<int>::iterator it;
connectedEdges[i].resize(nEdges+1);
for(int j = 1; j < hyperEdges[i].size()-1; j++)
{
int p = hyperEdges[i][j-1];
int q= hyperEdges[i][j];
it = set_union(adjL[p].begin(), adjL[p].end(),adjL[q].begin(),adjL[q].end(), connectedEdges[i].begin());
connectedEdges[i].resize(it-connectedEdges[i].begin());
}
}
}
Run Code Online (Sandbox Code Playgroud)
示例:
{1,2,4,6,8}
{1,2,3,5,6}
{1,4,7,13,15}
这三套联盟应该是{1,2,3,4,5,6,7,8,13,15}
我的计划回归{1,2,3,4,5,6,8}