Я пробовал читать несколько статей о том, как бороться с пользовательскими шрифтами в IE, но они никогда не работали для меня. Я пытался преобразовать шрифты в EOT
, но это тоже не сработало. Я не уверен, что делаю неправильно, поэтому я опубликую свой код
@font-face {
font-family: "Klavika Regular";
src: url('../fonts/klavika.eot');
src: local('☺'), url('../fonts/klavika.woff') format('woff'), url('../fonts/klavika.ttf') format('truetype'), url('../fonts/klavika.svg') format('svg');
font-weight: normal;
font-style: normal;
}
-121--721382- Для одного класса требуется сохранить некоторые указатели функций для члена функций одного класса в одной карте
, хранящей объекты std:: function
. Но я провалился прямо в начале с этим кодом:
class Foo {
public:
void doSomething() {}
void bindFunction() {
// ERROR
std::function<void(void)> f = &Foo::doSomething;
}
};
я получаю error C2064: term не вычисляет функцию, принимающую 0 аргументов
в xxcallobj
в сочетании с некоторыми странными ошибками создания экземпляров шаблона. В настоящее время я работаю над Windows 8 с Visual Studio 2010/2011 и над Win 7, с VS10 она также не работает. Ошибка должна основываться на некоторых странных правилах C++, которым я не придерживаюсь.
EDIT: Я НЕ использую boost. Это C++ 11 интегрирован в компилятор MS.
К сожалению, C++ не позволяет Вам непосредственно получать вызываемый объект, относящийся к объекту и одному из, его - функции членства. "& Нечто:: doSomething" дает Вам "подсказку к функции членства", которая относится к функции членства, но не связанный объект.
существует два пути вокруг этого, нужно использовать станд.:: свяжите для привязки "указателя на функцию членства" к этому указателю. Другой должен использовать лямбду, которая получает этот указатель и называет функцию членства.
std::function<void(void)> f = std::bind(&Foo::doSomething, this);
std::function<void(void)> g = [this](){doSomething();};
я предпочел бы позже.
С g ++, по крайней мере, обязательный функция членства к этому приведет к объектные трехочковые в размере, присваивая это станд.:: функция приведет к динамическому выделению памяти.
, С другой стороны, лямбда, которая получает это, является только одним указателем в размере, присваивая его станд.:: функция не приведет к динамическому выделению памяти с g ++.
, В то время как я не проверил это с другими компиляторами, я подозреваю, что подобные результаты будут найдены там.