Сейчас заметил, что к имени добавилась строка "[COMPAD]". Зашел на icq.com, отредактировал поле Niсkname. Эта хрень опять добавилась. Это АОЛовцы решили так почмырить пользователей альтернативных клиентов? Или у меня одного такое? PS. kopete.
PPS. Да, жаббер рулит, и вообще он кошерен и православен, но не тащить же всех знакомых на него.
Производный:
class B:public A<char*>{
public:
B(int var):A<char*>(var){printf("derived class\n");}
};
Можно ли избежать указания A<char*>(var) в списке инициализации конструктора производного класса? Т.е. сделать примерно так (именно так не работает):
B(int var):A(var){}
В <char*> из этого примера ничего ужасного нет, но у меня несколько параметров, причем один из них сам состоит из нескольких шаблонов, так что копипаста разрастется нехило.
PS. Курение книги по шаблонам с++ в ТУДУ, так что не предлагать.
int main(int argc,char **argv){
print<15>();
print_str<"lala">();//shit
return 0;
}
Функция print работает, а print_str не компилируется:
error: ‘"lala"’ is not a valid template argument for type ‘const char*’ because string literals can never be used in this context
Пробовал использовать QString вместо const char*, но и это не помогло.
Проблема: не получается достучаться до телефона, хотя сканер его находит.
Задача: достучаться таки до него.
Гента, ядро 2.6.29-gentoo-r5. Драйвера блютуса (все, какие были) вкомпилены. bluez-utils и bluez-libs поставлены, /etc/bluetooth/hcid.conf настроен (все по мануалу с gentoo.org).
$service bluetooth start
лог:
Jun 25 17:02:54 [hcid] Bluetooth HCI daemon
Jun 25 17:02:54 [hcid] Parsing /etc/bluetooth/main.conf failed: No such file or directory
Jun 25 17:02:54 [hcid] Starting SDP server
Jun 25 17:02:54 [hcid] Unix socket created: 13
Jun 25 17:02:54 [hcid] Registered manager path:/org/bluez/audio
Jun 25 17:02:54 [hcid] Registered input manager path:/org/bluez/input
Jun 25 17:02:54 [hcid] Can't create GN bridge
Jun 25 17:02:54 [hcid] Registered manager path:/org/bluez/network
Jun 25 17:02:54 [hcid] Registered server path:/org/bluez/network/nap
Jun 25 17:02:54 [hcid] Registered server path:/org/bluez/network/gn
Jun 25 17:02:54 [hcid] Registered server path:/org/bluez/network/panu
Jun 25 17:02:54 [hcid] Registered manager path:/org/bluez/serial
Jun 25 17:02:54 [hcid] HCI dev 0 registered
Jun 25 17:02:54 [hcid] HCI dev 0 already up
Jun 25 17:02:54 [hcid] Device hci0 has been added
Jun 25 17:02:54 [hcid] Starting security manager 0
Jun 25 17:02:54 [hcid] Device hci0 has been activated
* main.conf нет, ничего не нашел про него, в доках только про hcid.conf говорят.
* Can't create GN bridge - хз...
* После старта сервиса появляется процесс hcid, но нету sdpd, который, судя по докам, должен быть. Но такой программы вообще нет (в системе). Судя по логу он все же стартует, может быть его запихали внутрь hcid, фиг знает...
$ cat test.cpp
template<typename T>
class test{
public:
typedef unsigned T unsig;
};
int main(){
test<int>::unsig var=0;
return 0;
}
$ g++ test.cpp -o test
test.cpp:4: error: invalid combination of multiple type-specifiers
test.cpp: In function ‘int main()’:
test.cpp:8: error: ‘unsig’ is not a member of ‘test<int>’
test.cpp:8: error: expected `;' before ‘var’
Пример совершенно безумный, да. Вопрос в том, как добраться до типа, определенного в темплейтном классе.
Приделываю к проекту модуль управления из консоли. В идеале конечно хочется сделать и автодополнение, и хистори команд, но это не так важно. Столкнулся с проблемой, на которую раньше просто не обращал внимания - fgets с stdin, и при тыках стрелок на клаве "влево", "вправо" вместо передвижения курсора по введенному тексту происходит вывод (кода этих клавиш?) всякой дряни. Собственно вопрос в том, как сделать, чтобы дрянь не писалась, а курсор двигался?
$ g++ -o test test.cpp -L/home/vpopmail/lib -lvpopmail
/home/staseg/tmp/ccYFS6Pf.o: In function `main':
test.cpp:(.text+0x8d): undefined reference to `vauth_user(char*, char*, char*, char*)'
collect2: ld returned 1 exit status
В доках к vpopmail сказано, что достаточно слинковать с /home/vpopmail/lib/libvpopmail.a и подключить /home/vpopmail/include/vpopmail.h. Пробовал подключить другие файлы из /home/vpopmail/include, но, как и ожидалось, не помогло.
По логике начиная с 1-го элемента должно выводиться построчно:
номер: текущий элемент - предыдущий элемент.
Фактически выводится
номер: текущий элемент - 1
Оптимизация отключена, строка `xdata->at(i)[j]+666;` фактически ничего не делает, обращается к элементу. Вместо нее можно выполнить например сравнение с числом. Если эту строку закомментировать, программа работает 'как надо'.
Если выводить начиная со второго элемента так:
if(j>1)qDebug()<<j<<": "<<xdata->at(i)[j]<<" - "<<xdata->at(i)[j-2];
программа опять же работает правильно.
Пробовал проводить абсолютно такие же телодвижения со своим списком - проблем нет.
Проблема наблюдается под Linux, в windows работает нормально.