Я относительно новый программист, и я действительно не работал с xml, кроме как писать макеты для приложений Android .
Я хочу, чтобы пользователь мог сохранять значение типа int (однако я решил, что будет проще сохранить int как строку), чтобы его можно было использовать всякий раз, когда они используют мое приложение. (Например, у меня есть время начала и время окончания, я хочу, чтобы они могли сохранять, а не вставлять каждый раз, когда они открывают приложение.)
Я подумал, что самый простой способ сделать это - сохранить файл в XML-файл, но после просмотра руководств по Android я понял, что единственное кодирование XML-файлов, которое я смог понять, это то, как загружать файлы ресурсов из файлов, но ничего о том, как сохранять (или редактировать) эти строки.
Я не знаю ' У меня нет доступа к базе данных для этого проекта, поэтому его нужно сохранять прямо в телефоне.
What ' вектор класса {...} ... где T ...
В настоящее время я пишу общий векторный шаблонный класс (геометрический объект, а не контейнер) со следующей подписью ...
template< typename T, unsigned N >
class vector
{...}
... где T - это арифметический тип, а N - размерность. Я хотел бы определить перекрестное произведение как перегрузку оператора ^ (находится внутри определения класса) и включить его только тогда, когда N == 3. Теперь у меня есть:
typename boost::lazy_enable_if_c< (N == 3), vector >::type
inline operator ^(const vector &rhs) const
{
vector ret;
ret(0) = val_[1] * rhs(2) - val_[2] * rhs(1);
ret(1) = val_[2] * rhs(0) - val_[0] * rhs(2);
ret(2) = val_[0] * rhs(1) - val_[1] * rhs(0);
return ret;
}
К сожалению, создание экземпляра этого шаблона с N! = 3, даже если на оператор ^ нет ссылки, возникает следующая ошибка:
error: no type named ‘type’ in ‘struct boost::lazy_enable_if_c < false, flare::math::vector < flare::math::fixed < short int, 8u >, 2u > >’
Что я делаю не так? Есть ли альтернатива boost :: enable_if в таком случае?
Большое спасибо.