Здесь много правильных ответов, но я хотел добавить это (для полноты):
Если вы в нижней части файла cpp реализации выполняете явное инстанцирование всех типов, которые будут использоваться шаблоном с, компоновщик сможет найти их как обычно.
Изменить: добавление примера явного создания экземпляра шаблона. Используется после того, как шаблон определен, и определены все функции-члены.
template class vector<int>;
Это создаст экземпляр (и, следовательно, сделает доступным для компоновщика) класс и все его функции-члены (только). Подобный синтаксис работает для функций шаблона, поэтому, если у вас есть перегрузки операторов, не являющихся членами, вам может понадобиться сделать то же самое для них.
Вышеприведенный пример бесполезен, поскольку вектор полностью определен в заголовках, за исключением случаев, когда common include file (precompiled header?) использует extern template class vector<int>
, чтобы не создавать его из всех других (1000?) файлов, которые используют вектор.
Вам нужно было подключить eventListener раньше, проблема была в том, что вы подключили прослушиватели событий мыши после нажатия кнопки, чтобы они не работали в первый раз.
Рабочий код:
var pressme = document.getElementById('pressme');
var button1=document.getElementById('myBtn');
var button2=document.getElementById('myBtn1');
var showme = document.getElementById('showme');
button1.addEventListener('click', display1);
function display1(){ //displaying red background
pressme.style.display = 'none';
showme.style.display = 'block';
button1.style.display= 'none';
button2.style.display= 'block';
}
button2.addEventListener( 'mousedown', event => {
timeout = setTimeout(() => {
pressme.style.display = 'block';
showme.style.display = 'none';
button2.style.display= 'none';
button1.style.display= 'block';
}, 3000 );
});
button2.addEventListener( 'mouseup', event => {
if ( timeout ) clearTimeout( timeout );
});
<!DOCTYPE html>
<html>
<head>
<title>Realtime communication with WebRTC</title>
<link rel="stylesheet" href="css/main.css" />
</head>
<body>
<table id="pressme" style="width:100%" bgcolor="red" height =500px>
<button id="myBtn">Try it red</button>
</table>
<table id="showme" style="width:100%;display:none;" bgcolor="green"height=500px>
<button id="myBtn1" style=display:none; >Try it green </button>
</table>
</body>
</html>