小编Pie*_*ter的帖子

启用JS时使用onclick事件,当URL不可用时导航到URL

Facebook使用Ajax链接来更改其页面的部分内容,以减少加载时间.但是,如果您禁用JavaScript,他们的链接仍然有效.那是因为他们还定义了一个备份选项:经典<a href="http://url/".

我如何自己实现这一点,以便在禁用JS时遵循链接,并在启用JS时使用onclick事件?

html javascript ajax

3
推荐指数
1
解决办法
312
查看次数

扩展动态分配的数组

我按如下方式分配了一个数组.

#include <iostream>

int main() {
    const int first_dim = 3;
    const int second_dim = 2;

    // Allocate array and populate with dummy data
    int** myArray = new int*[first_dim];
    for (int i = 0; i < first_dim; i++) {
        myArray[i] = new int[second_dim];
        for (int j = 0; j < second_dim; j++) {
            myArray[i][j] = i*second_dim + j;
            std::cout << "[i = " << i << ", j = " << j << "] Value: " << myArray[i][j] << "\n"; …
Run Code Online (Sandbox Code Playgroud)

c++ arrays dynamic

3
推荐指数
1
解决办法
989
查看次数

对枚举的未定义引用

我从我的编译器收到此错误消息:

undefined reference to `Pawn::Pawn(Piece::Color)'
Run Code Online (Sandbox Code Playgroud)

当我这样做时会发生这种情况:

// board[][] contains pointers to Piece objects
board[0][0] = new Pawn(Piece::BLACK);
Run Code Online (Sandbox Code Playgroud)

这是Pawn类的一部分:

// Includes...
#include "piece.h"
// Includes...

class Pawn : public Piece {
public:
        // ...

        // Creates a black or white pawn.
        Pawn(Color color);

        // ...
};
Run Code Online (Sandbox Code Playgroud)

这是Piece类的一部分:

class Piece {
public:
        // ...

        enum Color {WHITE, BLACK};

        // ...
};
Run Code Online (Sandbox Code Playgroud)

为什么我收到此编译器错误?

c++ polymorphism

3
推荐指数
2
解决办法
1422
查看次数

使用自定义类正确使用Hashtable

这段代码会产生意外的输出.

Hashtable<Pair, Integer> results = new Hashtable<Pair, Integer>();
results.put(new Pair(0, 1), 2);
System.out.println("[DBG] " + results.containsKey(new Pair(0, 1)));
Run Code Online (Sandbox Code Playgroud)

输出是[DBG] false.为什么没有Hashtable注册这个元素?它与我尝试传递Pair给哈希表的方式有关吗?

java collections data-structures

3
推荐指数
1
解决办法
1610
查看次数

解决矢量指针向量内的矢量

要在C++中实现一个开放的哈希表,我想我会定义一个包含指向包含数据的向量的指针的向量.为简单起见,假设我想要一个可以存储ints 的哈希表.我以为我需要一个vector< vector<int>* >.

结果数据结构可能如下所示:

[指数0] 8,6,2

[索引1](空)

[指数2] 9,12,15,28,1

我本可以创建一个静态的vector<int>指针数组,但我希望能够随着时间的推移添加更多的索引.

要写出元素,我想做这样的事情:

for (unsigned int i = 0; i < myHashtable.size(); i++) {
  cout << "[index " << i << "]";
  for (unsigned int j = 0; j < myHashtable[i]->size(); j++) {
    cout << " " << *(myHashtable[i])[j];
  }
  cout << "\n";
}
Run Code Online (Sandbox Code Playgroud)

此代码无法编译.什么是正确的解决方法*(myHashtable[i])[j]

c++ vector

3
推荐指数
1
解决办法
276
查看次数

*迭代器导致段错误

我正试图通过列表.以下是一些声明:

list<CG1_Edge*> ActiveEdges;
list<CG1_Edge*>::iterator ActiveEdgeIterator;
Run Code Online (Sandbox Code Playgroud)

有时,此代码段错误在第2行:

for (this->ActiveEdgeIterator = this->ActiveEdges.begin(); this->ActiveEdgeIterator != this->ActiveEdges.end(); ++this->ActiveEdgeIterator) {
    CG1_Edge* currentEdge = *this->ActiveEdgeIterator;
    if (currentEdge->y_up < y)
        this->ActiveEdges.erase(this->ActiveEdgeIterator);
}
Run Code Online (Sandbox Code Playgroud)

是否有任何常见原因可能会导致段错误?

c++ oop iterator c++-standard-library

3
推荐指数
1
解决办法
1069
查看次数

使用javac编译servlet

我想在NetBeans之外编译servlet.我创建了一个简单的Hello World servlet,它产生了这些编译器错误.

import javax.servlet.ServletException;                                                           
                    ^                                                                            
ServletTester.java:4: package javax.servlet.http does not exist                                  
import javax.servlet.http.*;                                                                     
^                                                                                                
ServletTester.java:6: cannot find symbol                                                         
symbol: class HttpServlet                                                                        
public class ServletTester extends HttpServlet {                                                 
                                   ^                                                             
ServletTester.java:7: cannot find symbol                                                         
symbol  : class HttpServletRequest                                                               
location: class ServletTester                                                                    
        protected void processRequest(HttpServletRequest request, HttpServletResponse response) t
                                      ^
ServletTester.java:7: cannot find symbol
symbol  : class HttpServletResponse
location: class ServletTester
        protected void processRequest(HttpServletRequest request, HttpServletResponse response) t
                                                                  ^
ServletTester.java:7: cannot find symbol
symbol  : class ServletException
location: class ServletTester
        protected void …
Run Code Online (Sandbox Code Playgroud)

java servlets javac

3
推荐指数
1
解决办法
1万
查看次数

QDialog具有透明背景颜色

我想制作一个QDialog透明的背景,以便透过窗户看到.我问,因为我想使用半透明的背景图像,创建一个"圆角窗口"错觉.使用setOpacity对我来说不是一个选项,因为我希望所有小部件都保持完全不透明.

有没有办法在不借助本机OS API的情况下实现这一目标?

qt

3
推荐指数
1
解决办法
9491
查看次数

在符合W3C规则的情况下在JavaScript字符串中使用HTML标记

这是我的代码:

<a href="#">
    <img src="myimage.jpg" 
     onmouseover="showDescription(
          'Text', 'Text with HTML tags in them<br />More text');" 
     onmouseout="revertDescription();" 
     alt="Image description">
Run Code Online (Sandbox Code Playgroud)

W3C标记验证器不喜欢这个.它不希望我的JavaScript代码中包含HTML标记.以下是我尝试此操作时产生的错误消息:

字符"<"是分隔符的第一个字符,但作为数据出现

如果我将包含HTML标签的字符串传递给document.getElementById('myElement').innerHTML?确保我的页面不会搞乱,我该如何解决这个问题呢?

html javascript w3c w3c-validation

2
推荐指数
2
解决办法
4万
查看次数

C:char*的问题

/*
 * code.c
 *
 * TASK
 *      Reverse a string by reversing pointers. Function should use return
 *      type char* and use a char* parameter as input.
 */
#include <stdio.h>
#include <string.h>
#define STRMAX 51

char* reverse(char* sPhrase[]);

int main() {
    char sPhrase[STRMAX];
    char sReverse[STRMAX];
    printf("Enter string (max. 50 chars): ");
    gets(sPhrase);
    sReverse = reverse(sPhrase);

    return 0;
}

char* reverse(char* sPhrase[]) {
    char* sOutput[STRMAX];
    int iCnt = 0, iCntRev;

    for (iCntRev = strlen(*sPhrase)-2; iCntRev >= 0; iCntRev--) {
        sOutput[iCnt] = …
Run Code Online (Sandbox Code Playgroud)

c pointers

2
推荐指数
1
解决办法
575
查看次数