Если мы используем шаблон-light-solution (как показано выше), как показано ниже:
namespace std {
template<typename T>
std::string to_string(const T &n) {
std::ostringstream s;
s << n;
return s.str();
}
}
К сожалению, в некоторых случаях у нас будут проблемы. Например, для членов static const :
hpp
class A
{
public:
static const std::size_t x = 10;
A();
};
cpp
A::A()
{
std::cout << std::to_string(x);
}
И ссылка:
CMakeFiles/untitled2.dir/a.cpp.o:a.cpp:(.rdata$.refptr._ZN1A1xE[.refptr._ZN1A1xE]+0x0): undefined reference to `A::x'
collect2: error: ld returned 1 exit status
Вот один из способов решения проблемы (добавьте к типу size_t ):
namespace std {
std::string to_string(size_t n) {
std::ostringstream s;
s << n;
return s.str();
}
}
HTH.
Ваши сущности перепутаны в синтаксисе. База данных - это логический контейнер, внутри которого вы создаете свои таблицы. Например, если вы используете T-SQL:
CREATE DATABASE DogCompetition;
USE DogCompetition;
CREATE TABLE Dogs
(Dog VARCHAR(30) PRIMARY KEY);
CREATE TABLE Events
(Event VARCHAR(30) PRIMARY KEY);
CREATE TABLE DogEventScores
(Dog VARCHAR(30) REFERENCES Dogs(Dog),
Event VARCHAR(30) REFERENCES Events (Event),
Score INT NOT NULL,
PRIMARY KEY (Dog, Event)
);
INSERT INTO Dogs (Dog) VALUES ('Charlie');
INSERT INTO Events (Event) VALUES ('Running');
INSERT INTO DogEventScores (Dog, Event, Score) VALUES ('Charlie', 'Running', 8);
SELECT * FROM DogEventScores;
HTH